코드 품질 개선 - 세션 64: 프라이머리 생성자를 단순하게 유지하기
·2026.01.30 12:00
Kotlin 프라이머리 생성자는 클래스 속성과 일치하도록 단순하게 유지하고, 복잡한 로직은 보조 생성자나 팩토리 함수로 분리해야 한다.
Kotlin의 **프라이머리 생성자(Primary Constructor)**는 클래스의 속성과 최대한 일치하도록 설계하는 것이 바람직하다. 생성자 내부에서 파싱이나 변환 같은 복잡한 연산을 수행하면 클래스의 구조를 파악하기 어렵고 설계 의도가 불분명해질 수 있다.
생성자를 단순하게 유지하면 data class를 활용할 수 있는 이점이 있다. 복잡한 객체 생성 로직은 다음과 같은 방식으로 분리하여 관리한다.
- 보조 생성자(Secondary Constructor): 간단한 데이터 변환이 필요한 경우에 적합하다.
- 팩토리 함수(Factory Function): 복잡한 로직이 필요하거나, 생성 실패 시
null을 반환해야 하는 경우, 또는 특정 인터페이스의 하위 클래스 인스턴스를 반환해야 할 때 유용하다.
클래스 이름과 동일한 이름을 가진 **생성자 스타일의 팩토리 함수(Constructor-like factory function)**를 사용하여 인터페이스와 구현체를 분리할 수도 있으나, 이는 실제 생성자가 아니기에 혼란을 줄 수 있으므로 일반적인 애플리케이션 코드에서는 사용을 지양하는 것이 좋다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.