피드로 돌아가기
Dev.toBackend
원문 읽기
코드 중복 제거와 객체 지향 설계의 핵심, Java super 키워드 완전 정복
Mastering the "super" Keyword in Java: A Beginner’s Guide
AI 요약
Context
상속 구조에서 부모 클래스의 로직을 반복 작성하는 코드 중복 문제 발생. 자식 클래스에서 메서드를 재정의할 때 부모의 기존 기능을 유지하며 확장하기 어려운 구조적 한계 존재.
Technical Solution
- 부모 클래스 객체를 참조하는 super 키워드를 통해 상속 관계의 논리적 연결 통로 확보
- super()를 생성자 첫 줄에 배치하여 부모 클래스의 초기화 로직을 선행 수행하는 Constructor Chaining 구현
- super.methodName() 호출 방식으로 오버라이딩된 메서드 내에서 부모의 원본 로직을 선택적으로 실행하는 확장 설계
- 부모 클래스의 필드에 직접 접근하는 대신 메서드를 통한 접근을 권장하여 캡슐화 원칙 준수
- 상속 계층을 단순하게 유지하여 과도한 super 참조로 인한 복잡도 증가 방지
Key Takeaway
재사용성과 확장성을 동시에 확보하기 위해 부모의 기능을 완전히 대체하는 것이 아니라 보완하는 방향의 설계 원칙 필요.
실천 포인트
생성자 내 super() 호출은 반드시 첫 번째 문장으로 배치하고, 필드 직접 참조보다 super 메서드 호출을 우선할 것