JavaBookStudy / JavaBook

책읽기 스터디
https://javabookstudy.github.io/
Apache License 2.0
19 stars 2 forks source link

[Effective Java] Item 20. Mixin의 정확한 의미가 무엇인가요? #12

Closed daebalprime closed 3 years ago

daebalprime commented 3 years ago

책의 설명이 이해가 가지 않아 구글링 해봤는데 전부 Effective Java의 요약본입니다.... 130p 마지막 단락입니다.

kjsu0209 commented 3 years ago

어떤 클래스가 Comparable을 구현한다면 클래스 원래 기능이랑 Comparable 기능하고 섞이니까 믹스인이라고 하는 것 같아요

daebalprime commented 3 years ago

어떤 클래스가 Comparable을 구현한다면 클래스 원래 기능이랑 Comparable 기능하고 섞이니까 믹스인이라고 하는 것 같아요

질문이 디테일을 표현하지 못했는데, Comparable은 인스턴스끼리 순서를 비교할 수 있다는 '특성'을 부여한 것인데, 왜 책에서 '선택적 기능'이란 표현을 쓴 것인지 궁금했습니다. 기능이란 표현은, 인스턴스가 무언가를 '능동적'으로 다른 인스턴스에 영향을 미치거나 값을 리턴한다고 이해를 했었습니다. Comparable을 통해 정렬하는 주체는 인스턴스 그 자체가 아닌 자료 구조 인스턴스이기 때문에 스스로 정렬하는 것이 아닌 정렬당하는, 비교 당하는 수동적인 특성에 가깝다고 생각했습니다.

따로 구글링 해봤는데도 제대로 못 찾아서 원문을 참고했습니다. 번역이 잘못됐다고 생각합니다. 아래 원문을 참고하시길 바랍니다.

Loosely speaking, a mixin is a type that a class can implement in addition to its “primary type,” to declare that it provides some optional behavior.

kjsu0209 commented 3 years ago

참고 참고 링크입니다