본문 바로가기
오래된 글

정적 타입 언어와 동적 타입 언어의 차이점은 무엇인가?

by pagehit 2019. 3. 3.
반응형

정적 타입 언어와 동적 타입 언어의 차이점



정적 타입 언어(Statically typed language)는 컴파일 시간에 변수의 타입이 결정된다.

Java, C, C++와 같은 언어들은 프로그래머가 변수의 타입을 직접 명시해 주어야한다.

OCaml, Haskell, Scala, Kotlin과 같은 언어들은 타입 추론(type inference)을 이용하여 변수의 타입을 추론한다.

컴파일 시간에 변수의 타입을 체크하므로 사소한 버그들을 쉽게 체크할 수 있다는 장점이 있다.


동적 타입 언어(Dynamically typed languages)는 런타임에 타입이 결정된다.

매번 타입을 써줄 필요가 없기 때문에 프로그래머가 빠르게 코드를 작성할 수 있다.

Perl, Ruby, Python, PHP, JavaScript 같은 언어들이 여기에 속한다.


쉽게 비유하자면, 정적 타입 언어는 소스 코드를 보고 변수의 타입을 판단하고, 동적 타입 언어는 코드를 실행할 때 변수의 타입을 판단한다.



참고



1. 스택오버플로우 https://stackoverflow.com/questions/1517582/what-is-the-difference-between-statically-typed-and-dynamically-typed-languages




반응형

댓글