[Type checking]
: 대부분의 static typed 언어에서, 객체(object)들에 대한 모든 정의는 객체의 타입을 명시해야 한다.
# 3가지의 타입 검사 방법
1) Type equivalence(타입 동등성)
2) Type Compatibility(타입 호환성) : 가장 중요, 타입 사용 가능 여부 결정한다.
- type conversion ( = casting) : 한 타입의 값을 다른 타입의 값으로 바꾼다
- type coercion(타입 자동 형변환) : 자동으로 conversion을 수행한다
- nonconvertion type casts : 특정 값이 특정형태일때 다른 타입으로 처리하는 경우 (이상한 값이 주어진다, ex) int a = 23을 char b = a로하면 ord코드로 인식..)
3) Type Inference(타입 추론)
: 타입 선언이 필수가 아닌 언어 ML, Haskell등에서 컴파일러에 의해 생략된 타입을 추측해서 사용하는 방법이다.
'[프로그래밍 언어론]' 카테고리의 다른 글
프로그래밍 언어론 7-2-2강. 타입 호환성(Type Compatibility) (0) | 2019.12.13 |
---|---|
프로그래밍 언어론 7-2-1강. 타입 동등성(Type Equivalence) (0) | 2019.12.13 |
프로그래밍 언어론 7-1-4강. 타입의 분류(Classification of Types) (0) | 2019.12.12 |
프로그래밍 언어론 7-1-3강. 직교성(Orthogonality) (0) | 2019.12.12 |
프로그래밍 언어론 7-1-2강. 다형성(Polymorphism) (0) | 2019.12.10 |