AI Briefing

코드 품질 개선 - 세션 47: 불이행(Breach of non-performance)

·2025.09.19 11:00

핵심 내용

기본 매개변수에 특수한 의미를 가진 값을 설정하면 의도치 않은 객체 생성으로 버그가 발생할 수 있다.

자세히 보기

Kotlin의 **기본 매개변수(default parameter)**를 이용해 Null Object를 구현할 때 발생할 수 있는 위험성을 다룬다.

id = 0과 같이 특수한 의미를 가진 값을 기본 매개변수로 설정하면, 개발자가 특정 인자를 실수로 누락했을 때 의도치 않게 '유효하지 않은 객체'가 생성될 위험이 있다. 이는 기본값이 일반적인 값이 아닌 특수한 상태를 나타내기 때문에 발생하는 문제다.

안전한 설계를 위한 대안은 다음과 같다:

  • companion object를 통해 INVALID와 같은 명시적인 인스턴스를 정의한다.
  • sealed interface를 활용한 sum type으로 Valid와 Invalid를 명확히 구분한다.
  • nullable type을 사용하여 null로 유효하지 않은 상태를 표현한다.

결론적으로, 기본 매개변수에는 특수한 목적의 값이 아닌, 누구나 예측 가능한 일반적인 값을 사용해야 한다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.