요약
- 타입(자료형)을 결정하는 시기에 따른 언어의 분류
- 정적타입 언어: 컴파일 때 결정
- 동적타입 언어: 런타임 때 결정
정의/특징
정적타입 언어
- 컴파일 때 타입을 결정
- 장점: 빠른 속도, 타입 에러에 대한 빠른 대처로 타입의 안정성↑, 타입 명시로 가독성
- 단점: 타입 명시/처리에 필요한 BoilerPlate코드와 규칙
- 타입 추론을 지원하기도 함
- C, C#, C++, Java, Kotlin, Rust, Go, Scala, Ocaml
동적타입 언어
- 런타임 때 타입을 결정
- 장점: 낮은 러닝커브, 런타임까지 타입에 대한 결정을 미룰 수 있음 → 유연한 선택
- 단점: 런타임에 예상치 못한 타입 오류 발생
- JavaScript, Ruby, Python, PHP
고찰
타입 추론
- 정적타입 언어에서 타입을 명시하지 않고, 타입이 추론 가능한 형태만 제공하면, 컴파일러가 문맥으로부터 변수 타입을 자동으로 유추하는 것
- 프로그래머의 타입 명시 수고를 덜어줌