9가지 언어로 배우는 타입 이론: 널(null) 처리, 합/곱 타입, 에러 처리까지!

by DD
3년 전
조회수 21

타입 이론을 바탕으로 null, nullable, option 등 다양한 타입 처리 방식을 소개함

곱 타입(Product Type)합 타입(Sum Type)을 활용한 데이터 표현 및 상속의 한계를 분석함

Rust, Scala패턴 매칭익명 합 타입(Result)을 통한 에러 처리 방식을 제시함

Null 처리 방식 비교

다양한 언어에서 null을 처리하는 방식은 각기 다르다. 구체적으로 Java는 `Optional`을 통해, C#Kotlin은 `nullable` 타입을 지원한다. 따라서 RustScala는 `Option` 타입을 사용하여 안전한 null 처리를 제공한다.

합 타입과 상속의 트레이드오프

합 타입상속의 한계를 극복하는 강력한 도구이다. 반면 상속유지보수성을 저해하고, 타입 캐스팅코드 가독성을 떨어뜨린다. 결과적으로 RustScala패턴 매칭안정적인 코드 설계를 가능하게 한다.

에러 처리의 진화: 예외 vs Result

전통적인 예외 처리함수 시그니처만으로는 에러 발생 여부를 알 수 없다는 단점이 있다. 따라서 RustScalaResult 타입을 사용하여 에러 처리를 명시적으로 강제한다. 결과적으로 코드 안정성을 높이고, 유지보수성을 향상시킨다.

9가지 프로그래밍 언어로 배우는 개념: 1편 - 타입 이론