반응형
정적 타입 언어와 동적 타입 언어의 차이점
정적 타입 언어(Statically typed language)는 컴파일 시간에 변수의 타입이 결정된다.
Java, C, C++와 같은 언어들은 프로그래머가 변수의 타입을 직접 명시해 주어야한다.
OCaml, Haskell, Scala, Kotlin과 같은 언어들은 타입 추론(type inference)을 이용하여 변수의 타입을 추론한다.
컴파일 시간에 변수의 타입을 체크하므로 사소한 버그들을 쉽게 체크할 수 있다는 장점이 있다.
동적 타입 언어(Dynamically typed languages)는 런타임에 타입이 결정된다.
매번 타입을 써줄 필요가 없기 때문에 프로그래머가 빠르게 코드를 작성할 수 있다.
Perl, Ruby, Python, PHP, JavaScript 같은 언어들이 여기에 속한다.
쉽게 비유하자면, 정적 타입 언어는 소스 코드를 보고 변수의 타입을 판단하고, 동적 타입 언어는 코드를 실행할 때 변수의 타입을 판단한다.
참고
반응형
댓글