객체 지향을 넘어: 프로그래밍 언어에서의 서브타이핑의 진화

2025-03-29

본 글에서는 프로그래밍 언어 설계에서 서브타이핑의 중요한 역할을 탐구합니다. 저자는 여러 프로그래밍 언어 개발 경험을 바탕으로 서브타이핑이 객체 지향 프로그래밍의 클래스 상속에만 국한되지 않고 훨씬 더 기본적인 개념임을 설명합니다. 즉, 타입 X가 타입 Y의 서브타입이라는 것은 타입 X의 값을 타입 Y가 예상되는 곳 어디에서든 사용할 수 있다는 것을 의미합니다. 본 글에서는 성능 중심의 저수준 언어에서도 서브타이핑이 필수적인 이유를 명확히 설명합니다. 서브타이핑을 통해 컴파일러는 null 값, 별칭 등의 문제를 정적으로 검사하여 코드의 신뢰성을 높이고, 궁극적으로 프로그래밍 언어의 진화를 촉진합니다.