wonslee / object-study

📔오브젝트 예제 코드를 따라 공부, 토론하는 스터디 그룹
0 stars 1 forks source link

객체의 내부 코드 구현을 알아야 된다면 캡슐화를 위반하는걸까요? #43

Open kmw2378 opened 10 months ago

kmw2378 commented 10 months ago

명시적인 의존성을 사용하지 않으면 객체 내부 구현을 알아야되므로 캡슐화를 위반한다.

저는 이 문장을 내부 구현을 이해하도록 유도하는 것도 캡슐화를 위반하는 것이다 라고 생각했습니다! 다들 어떻게 생각하실까요?

kmw2378 commented 9 months ago

캡슐화를 위반한다라는 말이 애매한 것 같음. 캡슐화를 유리에 비유하자면 "깬다"는 아니지만 "손상을 준다" 로 이해하면 좋을 것 같다. 또한, 상속이 무조건적으로 캡슐화를 손상을 주는 건 아니며 메서드 오버라이딩이나 super 참조를 쓰는 경우 손상을 준다고 이해하면 될 것 같다.

그러나 상속은 메서드 오버라이딩, 부모 인스턴스 재사용을 목적으로 하기에 상속 = 캡슐화 손상 이라고 알고 있어도 무방하다 생각한다.

참고 링크