공부하다보면 뭔가 다들 아무 생각없이 의무적으로 일단 인터페이스 찍어놓고
바로 구현체 만들고 하던데
이렇게 하는 이유가 뭐임?? 그러니까 원리적으로는 나도 왜 하는진 알겠는데
그게 실제로 도움이 되는 상황이 현실에서 많이 발생함?
공부하다보면 뭔가 다들 아무 생각없이 의무적으로 일단 인터페이스 찍어놓고
바로 구현체 만들고 하던데
이렇게 하는 이유가 뭐임?? 그러니까 원리적으로는 나도 왜 하는진 알겠는데
그게 실제로 도움이 되는 상황이 현실에서 많이 발생함?
원리적으로 왜 하는지 아시면 이런 질문을 올리실 필요가 ... 정이해 안되시면 무지성으로 쓰시면 됩니다.
아니 납득이 안 돼서 그럼 지금 계속 찾아보면서 모든 글 읽어봐도 딱히 나를 납득시키는 글이 없어 이론적으로는 알겠는데 현실적으로의 필요성을 못 느끼겠어서
나도궁금
okky에 똑같은 질문글 올린 사람이 있었네
https://okky.kr/article/315082
ㅇㅇ 찾아보고 그 글 읽어보고 글쓴거임 그걸로도 납득이 안돼서
인터페이스로 할경우 거 추상화를 더 할 수있 습니다 자식은 걍 상속받아서 자세하게 로직짤수잇으니까여
ㅇㅇ 인터페이스의 이론적 장점인 그건 알겠는데 그게 현실적으로 필요한 상황이 얼마나 나오는지가 궁금한거야
그리고 필수메소드를 강제시킬 수도 잇습니다 일종에 가이드 라인이기도 하죠
ㅋㅋ 나도 이론적인건 다 공부해서 알긴해 그게 피부로 와닿지 않아서 그런거지 어차피 바로 옆 패키지에 위치해있고 메서드 정의만 하고 버려두는데 그게 뭔 차이를 만드는건지를 모르겠음
이렇게 말해도 모르면 더공뷰하셈 서비스로직을 만든다 치자 너가 다 수동으로 짤수 있겟지 근데 만약 요구사항이바껴서 기능을 확장해야됨 근데 인터페이스로 발라놓으면 확장이 더 쉽지 다중상속도 가능하고
걍 쓰지말자 우리는
스트리티지 패턴임 클래스 의존관계 몇 없으면 쓸모없지
극단적으로 클래스 1000개 될때를 생각해보면 됨 클래스의 메서드들의 수정사항을 의존관계 있는 곳에서 다 관리한다 생각해봐
실제 구현체끼리 의존관계를 없애기 위함이지