본문 바로가기

끄적끄적

정적언어 & 동적언어

정적타입언어(statically typed language)

: 컴파일 시 변수의 타입이 결정되는 언어

따라서, 변수에 들어갈 값의 형태에 따라 직접 변수의 타입을 명시해줘야한다.

String name = "cho"
int num = 123

위의 예시와 같이 '타입' 즉 자료형을 컴파일 시에 결정하는 것이다. 컴파일 시에 자료형에 맞지 않는 값이 들어있으면 컴파일 에러가 발생함.

 

정적언어 예)

Java, C++ , Pascal 등이 있다.

 

 

동적타입언어(dynamically typed language)

: 런타임 시 자료형을 결정 ,  타입 없이 변수만 선언하여 값을 지정할 수 있다.

name = "cho";
num = 123;

지금 변수에서는 문자열, 숫자 상관이 다 선언이 가능하다.

 

장점)

- 유연성이 높다.

- 컴파일 시 타입을 명시하지 않아도 되서 빠르게 코드 작성이 가능하다.

 

단점)

- 실행 도중 변수에 예상치 못한 타입이 들어와서 타입에러가 발생 할 수 있다.

 

** 동적타입언어는 런타임시에 확인할 수 밖에 없기 때문에, 코드가 길고 복잡해질 경우 타입에러를 찾기가 어려워진다.

     이러한 불편함을 없애기 위해 Typescript, Flow 등을 사용할 수 있다.

 

 

 

'끄적끄적' 카테고리의 다른 글

[JSP] 동작과정  (0) 2023.05.25
Web Server, WAS(Web Application Server)  (0) 2023.05.25
Redux의 상태관리의 주요 개념, 상태관리 비교  (0) 2023.04.25
React memoization  (0) 2023.04.23
typescript interface  (0) 2023.04.12