정적타입언어(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 |