자료형(data type)은 값들의 집합과 이 값들에 대한 연산들의 집합
- 기본 자료형(basic type) : 더 이상 쪼갤 수 없는 값들로 구성된 자료형
- 빌트인 기본 자료형 : 프로그래밍 언어에 의해 사전 정의된 기초 자료형(primitive type) (ex. boolean, char, int)
- 사용자 정의 기본 자료형 (ex. enumeration type)
복잡 타입(composite type) 을 구성하는 타입 구성자(type constructor)
- 배열 타입(array type) : 같은 타입의 연속된 변수들로 구성하는 자료형. 배열을 구성하는 변수 하나 하나를 배열 요소(element)라고 하며 배열 요소는 배열 이름과 순서를 나타내는 인덱스로 나타냄
- 리스트(list) : 항목(item)들의 모음. 다수의 항목을 집합적으로 처리하는데 유용
- 레코드 타입 : 서로 다른 타입의 데이터를 한 데 묶어 관리할 수 있게 해주는 자료구조로, 서로 타입이 다를 수 잇는 여러 개의 필드 변수로 구성하는 자료형
- 공용체(union) 타입
- 포인터 타입(pointer type) : 메모리의 위치(주소)를 값으로 사용하는 자료형
- 재귀 타입(recursive type) : 어떤 타입을 정의하는데 자신의 이름을 다시 사용할 수 있음
자동으로 형을 변환하는 것을 묵시적 형변환(implicit type conversion) 또는 자동 형변환(automatic type conversion) 이라 함
표현 범위가 더 넓은 쪽으로 변환하는 것을 상향 변환(promotion) 또는 확장 변환(widening conversion) 이라고 하며 자바에서는 자동 형변환은 거의 대부분 확장 변환임
형변환 연산자는 타입 캐스팅 연산자(type casting operator)라고 하는데 간단히 캐스트(cast) 라고 함
변수의 타입이 컴파일 시간에 결정되어 고정되는 언어를 정적 타입 언어(statically typed language) (ex. java,c,c++)
변수의 타입이 저장되는 값에 따라 실행 중에 바뀔 수 있는 언어를 동적 타입 언어(dynamically typed language) (ex. javascript, python)
엄격한 타입 규칙을 적용하여 타입 오류를 찾아낼 수 있는 언어를 강한 타입 언어(strongly typed language) 라고 함
느슨한 타입 규칙을 적용하여 타입 오류를 찾아내는 언어는 약한 타입 언어(weakly typed language) 라고 함
'프로그래밍 언어론' 카테고리의 다른 글
[프로그래밍 언어론] 함수 (0) | 2022.08.22 |
---|---|
[프로그래밍 언어론] 타입 시스템 (0) | 2022.08.22 |
[프로그래밍 언어론] 의미론(sementics) (0) | 2022.08.22 |
[프로그래밍 언어론] 변수, 유효 범위 (0) | 2022.08.21 |
[프로그래밍 언어론] 추상 구문 트리와 어휘 분석기 (0) | 2022.08.21 |