본문 바로가기
지식

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

by Ele(단단) 2023. 3. 21.
반응형

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

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

 

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

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

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

컴파일(Compile)은 주어진 language로 작성된 컴퓨터 프로그램을 다른 언어의 동등한 프로그램으로 변환하는 프로세스

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

 

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

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

쉽게 비유하자면, 정적 타입 언어는 소스 코드를 보고 변수의 타입을 판단하고,

동적 타입 언어는 코드를 실행할 때 변수의 타입을 판단한다.

런타임(영어: runtime→실행시간)은 컴퓨터 과학에서 컴퓨터 프로그램이 실행되고 있는 동안의 동작

반응형

댓글