정적 타입 언어 vs 동적 타입 언어
2022. 2. 8. 14:23
1. 정적 타입 언어(Statically typed language)
먼저, 변수의 타입이란 int, short, float, String, 객체 와 같은 자료형을 뜻한다.
정적 타입 언어(Statically typed language)는 컴파일 시간에 변수의 타입이 결정!
Java, C, C++와 같은 언어들은 프로그래머가 변수의 타입을 직접 명시해 주어야함
OCaml, Haskell, Scala, Kotlin과 같은 언어들은 타입 추론(type inference)을 이용하여 변수의 타입을 추론
장점 : 컴파일 시에 타입에 대한 정보를 결정하기 때문에 속도↑ , 타입 에러로 인한 문제점을 초기에 발견할 수 있어 타입의 안정성↑
단점 : 매번 코드 작성시 변수형을 결정해줘야 하는 번거로움이 있음
2. 동적 타입 언어(Dynamically typed languages)
동적 타입 언어(Dynamically typed languages)는 런타임에 타입이 결정!
Perl, Ruby, Python, PHP, JavaScript 같은 언어들이 여기에 속한다.
장점 : 매번 타입을 써줄 필요가 없기 때문에 프로그래머가 빠르게 코드를 작성할 수 있음, 런타임까지 타입에 대한 결정을 끌고 갈 수 있기 때문에 유연성이 높음
단점 : 실행 도중에 변수에 예상치 못한 타입이 들어와 타입에러가 발생할 수 있음
반응형
'Spring' 카테고리의 다른 글
오버로딩(Overloading) VS 오버라이딩(Overriding) (0) | 2022.02.09 |
---|---|
Java 코드의 컴파일 과정 (0) | 2022.02.08 |
Redis란? (0) | 2021.12.20 |
IoC, DI 그리고 컨테이너 (0) | 2021.11.12 |
IntelliJ 단축키 정리 (0) | 2021.11.11 |