본문 바로가기
728x90

자바인터페이스2

[JAVA] Java 인터페이스 간의 상속이 가능한가요? 다중 상속의 해법과 설계 원칙 자바(Java)를 학습하는 과정에서 많은 개발자가 직면하는 흥미로운 질문 중 하나가 바로 "인터페이스도 상속이 가능한가?"입니다. 클래스 간의 상속(Extends)은 익숙하지만, 인터페이스 사이의 관계에 대해서는 의외로 혼동을 겪는 경우가 많습니다. 결론부터 말씀드리면, Java에서 인터페이스 간의 상속은 가능하며, 심지어 클래스에서는 허용되지 않는 '다중 상속'까지 지원합니다. 이번 포스팅에서는 인터페이스 상속의 메커니즘과 이것이 왜 중요한지, 그리고 실무 설계에서 어떻게 활용되는지 심층적으로 분석해 보겠습니다.1. 인터페이스 상속의 핵심: extends 키워드흔히 인터페이스를 클래스에서 구현할 때는 implements 키워드를 사용합니다. 하지만 인터페이스가 다른 인터페이스를 확장할 때는 클래스와 동.. 2026. 1. 17.
[JAVA] 자바가 다중 상속을 포기하고 '순수성'을 선택한 진짜 이유 객체지향 프로그래밍(OOP)을 처음 접하는 학습자들에게 "왜 자바는 클래스의 다중 상속을 지원하지 않을까?"라는 질문은 매우 고전적이면서도 날카로운 질문입니다. C++과 같은 언어에서는 가능한 기능이 왜 현대 프로그래밍의 표준이라 불리는 자바에서는 금지되었을까요? 단순히 기술적 한계 때문일까요, 아니면 설계 철학의 산물일까요? 오늘 그 이면의 깊은 이유를 파헤쳐 봅니다.1. 다중 상속의 치명적 함정: 다이아몬드 문제(The Diamond Problem)자바 설계자들이 다중 상속을 배제한 가장 결정적인 이유는 바로 '다이아몬드 문제'라 불리는 구조적 모호성 때문입니다. 이는 두 개 이상의 부모 클래스가 동일한 이름의 메서드를 가지고 있을 때, 자식 클래스에서 어떤 메서드를 호출해야 할지 결정할 수 없는 혼.. 2026. 1. 16.
728x90