inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이펙티브 자바 완벽 공략 2부

강의 소개

아이템19 - 구체 클래스가 표준 인터페이스를 구현하지 않았는데 상속을 금지하면 사용하기에 상당히 불편해진다.

해결된 질문

481

Jinyoung Choi

작성한 질문수 5

1

안녕하세요 강사님! 이펙티브 자바 강의 재밌게 수강하고 있습니다. 항상 감사드립니다. 책의 내용 중 하나가 도저히 이해가 되지 않아 질문 드립니다!

[아이템19]
"구체 클래스가 표준 인터페이스를 구현하지 않았는데 상속을 금지하면 사용하기에 상당히 불편해진다. 이런 클래스라도 상속을 꼭 허용해야겠다면 합당한 방법이 있다."
에서 "사용하기에 상당히 불편해진다." 가 무얼 뜻하는지 잘 모르겠습니다. 그리고 상속을 금지했는데, 허용한다? 라는 말도 잘 이해가 가지 않습니다!

제가 이해하기로는
1. "구체 클래스가 표준 인터페이스를 구현하지 않았는데 상속을 금지하면 사용하기에 상당히 불편해진다. :
표준 인터페이스를 구현하지 않은 클래스는 내부 동작을 예측하기가 쉽지 않다. 또한 확장이나 변경이 제한적이다. 상속을 금지하게되면 더 제한적이게 된다.
2. "이런 클래스라도 상속을 꼭 허용해야겠다면 합당한 방법이 있다." :
위와 같이 제한적인 불편함이 싫다면 상속을 허용하고 내부메서드에서 자기의 재정의 가능 메서드를 호출하는 코드를 제거하는데, 그 중 하나의 방법이 'private 도우미 메서드' 방법을 사용하라.

라는 뜻일까요?
맞다면 아래와 같은 상황일까요?

1. 이전 릴리스에서는 표준 인터페이스를 구현하지 않고 상속도 금지한 구체클래스였다.
2. 다음 릴리스때 이 구체클래스를 확장해야겠다고 판단했고, 상속을 허용하기로 했다.

java

답변 2

1

백기선

네 정리하신 내용이 맞습니다. 저도 그렇게 이해했어요. 인터페이스를 구현하지 않았는데, 상속까지 막혀있다면 해당 클래스를 재사용해서 무언가 확장하거나 변경하는게 어려워 지겠죠. OCP (확장에 열려있고, 변경에 닫혀있는 원칙)을 준수하는 이상적인 클래스를 만드는 방법에 대한 설명으로 이해할 수 있습니다.

0

Jinyoung Choi

감사합니다! :)

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요. 강의를 재밌게 수강하고 계셔서 다행입니다. “구체 클래스가 표준 인터페이스를 구현하지 않았는데 상속을 금지하면 사용하기에 상당히 불편해진다”는 문장은 구체 클래스가 특정 인터페이스를 구현하지 않았을 때, 이 클래스를 상속받아 사용하기가 불편해진다는 의미입니다. 구체 클래스가 표준 인터페이스를 구현하지 않았을 경우, 이 클래스를 사용하는 쪽에서는 내부 동작을 예측하기가 어렵고, 확장이나 변경이 제한적일 수 있기 때문에 사용하기가 불편할 수 있습니다.

또한 “이런 클래스라도 상속을 꼭 허용해야겠다면 합당한 방법이 있다”는 문장은 구체 클래스가 표준 인터페이스를 구현하지 않았을 때, 상속을 할 수 없는 경우 사용자가 편리하게 사용할 수 있도록 상속을 허용하는 방법이 있다는 의미입니다. 자세한 내용은 책의 내용을 참고하시면 좋을 것 같습니다. 여기서는 상세한 방법에 대해 설명드리기 어렵습니다.

감사합니다! 더 궁금한 점이 있다면 언제든지 물어보세요.

ttl 산정 기준

0

14

0

정처기 2026-3 실기 문의

0

62

2

정처기 실기 3회 컴싸 사용 여부

0

40

1

자바 킴쌤 클래스 기초part2.pdf파일은 어디서 받을 수 있나요?

0

23

1

오타 제보 드립니다.

0

39

2

모의고사 1 회 2번문제 중

0

54

2

26-2 이론문제 재탕

1

40

1

26-2년도 코드문제

0

32

0

26-2 코드문제

0

36

1

15분 48초 질문

0

44

2

26-1년도 이론문제 재탕

0

58

1

26-1년도 코드문제 재탕

0

43

0

이론재탕만 눈치챘어도

0

69

1

25-3년도 이론문제 재탕

0

53

1

25-3년도 코드문제 재탕

0

38

0

출력값 문의

0

46

2

25-2 분기커버리지

0

45

0

25-2 이론 재탕

0

60

1

강의 소스 코드 관련 질문 드립니다.

0

71

1

아이템 28 타입 안전

0

456

1

다음 강의 질문

0

474

1

아이템16, 조금 애매한 것 같습니다.

0

626

1

아이템 32. 핵심 정리 12:00 이 부분에서 질문이 있습니다.

1

539

1

아이템31 비한정적와일드카드

1

398

0