언어/TypeScript
프로그래밍 언어의 타입 시스템
calendar2
2024. 8. 6. 17:02
모든 프로그래밍 언어는 타입 시스템을 가지고 있다
타입 시스템이란?
- 언어에서 사용할 수 있는 여러 가지 값들을 어떤 기준으로 묶어 규정할 것인가?
- 코드의 타입을 언제 검사할지?
- 어떻게 검사할지?
위와 같이 프로그래밍 언어를 사용할 때 타입과 관련해서 지켜야할 규칙들을 모아둔 체계
타입 시스템의 종류
- 정적 타입 시스템 : 코드 실행 이전 모든 변수의 타입을 고정적으로 결정함(엄격하고 고정적인 시스템)
- C, Java
- 동적 타입 시스템 : 코드를 실행하고 나서 그때 그때 마다 유동적으로 변수의 타입을 결정함(자유롭고 유연한 시스템)
- Python, JavaScript
정적 타입 시스템의 경우 엄격한 검사로 실행 전에 오류를 찾아낼 수 있지만 전체적인 타이핑의 양이 너무 커진다.
반면, 동적 타입 시스템은 자유롬고 타이핑이 적지만 오류를 미리 검사할 수 없어 프로그램 실행 시 예상하지 못한 오류가 발생할 수 있다.
타입스크립트의 독특한 타입 시스템
타입스크립트는 동적 타입 시스템과 정적 타입 시스템의 특징을 같이 가지고 있다.
- 정적 타입 시스템처럼 타입 오류를 실행 전에 검사하면서
- 동적 타입 시스템처럼 변수의 타입을 실행 전에 결정한다.
그래서, 타입스크립트의 타입 시스템을 점진적 타입 시스템(Gradual Type System)이라고 부른다.
정리
정적 타입 시스템 | 점진적 타입 시스템 | 동적 타입 시스템 |
- 특징 1. 코드를 실행하기 전에 정적으로 변수의 타입을 결정 - 단점 1. 모든 변수에 일일이 타입을 지정해주어야 함 2. 타이핑의 양 증가 3. 유연하지 못함 |
- 특징 1. 실행 전 검사를 통한 타입 안정성 확보 2. 자동으로 변수의 타입을 추론함 |
- 특징 1. 코드를 실행하면서 유동적으로 변수의 타입을 결정 - 단점 1. 코드의 타입 오류를 미리 검사할 수 없음 2. 예기치 못한 오류의 발생 가능성 높음 |
C, Java 등 | TypeScript | Python, JavaScript |
참고자료
[본 게시물은 파트너스 활동의 일환으로 소정의 수수료를 받을 수 있습니다.]
한 입 크기로 잘라먹는 타입스크립트(TypeScript):
한 입 크기로 잘라먹는 타입스크립트(TypeScript)| 이정환 Winterlood - 인프런 강의
현재 평점 5점 수강생 12440명인 강의를 만나보세요. 문법을 넘어 동작 원리와 개념 이해까지 배워도 배워도 헷갈리는 타입스크립트 이제 제대로 배워보세요! 여러분을 타입스크립트 마법사🧙
www.inflearn.com