해결된 질문
작성
·
560
0
약간 혼란스러운 부분이 있어 여쭤봅니다 선생님.
interface로 추상화가 된다면 그것은 하나의 역할이라고 할 수 있다. 라고 이해하였습니다.
그렇다면 interface를 구현하는 구현체는 그 역할을 수행하는 참여자인 것인데요.
그렇다면 Member 클래스의 객체는 역할을 수행하는 참여자라고 할 수 없는것인가요?
단순하게 데이터를 담는 그릇이라고 생각하면 되는 것인지
어떤 협력들의 결과를 돌려받는 클라이언트라고 생각하면 되는 것인지
이게 막연하게 생각하는걸 구체적인 단어로 표현을 하려고 하니까 정의가 애매하고 혼란스럽네요..
지금 제가 뭐를 헷갈리는 지 설명하는 것도 헷갈려서 두서없이 적는점 죄송하게 생각합니다..
답변 1
1
안녕하세요. Gunwoo Park님
인터페이스는 서로 메시지를 주고 받는 약속일 뿐입니다.
인터페이스가 없이 구현 객체 만으로도 역할을 수행할 수 있고, 메시지를 주고 받을 수 있습니다. 다만 인터페이스를 사용하면 다형성을 활용해서 더 편리하게 구현 객체를 변경할 수 있습니다.
그리고 필요하면 엔티티도 인터페이스를 구현할 수는 있습니다.
이 부분에 대해서 더 깊이있게 공부하고 싶으시면 객체지향의 사실과 오해라는 책을 추천드립니다^^
감사합니다.