인터페이스랑 분리하던데 이유가뭐임? 예를들어
MemberService 클래스가있으면
MemberServiceImpl 클래스도 만들어서 인터페이스를 분리하던데 궁금해서 구글링해봣는데
다형성떄문이라는데 굳이???
개발코드를 수정하지 않고 사용하는 객체를 변경할 수 있도록 해준다
라고하는데 굳이??? 진짜 이해가안됨 MemberService만 있어도 굳이 인터페이스 분리를 하면 오히려 유지보수 측면에서 안좋지않냐??
필요한 코드를 두번이나 수정해야되는데
블로그보니까 카카오면접에서 나왓던질문인데 나도몰랏어 ㅠ
암튼 OOP떄문에 중요한데 이유는 결합도를 낮춰야되서 그래!! 암튼 중요해!! 이런식으로 설명되어있어서 이해못하겠음..
허세충들이 만든거임. ㅇㅇ 안 쓰는게 유지보수 측면에서 좋은거임.
확장성을 고려하는거임 만약에 서비스 사용하는 인풋과 아웃풋은 똑같은데 내부 로직이 수정되는 경우에 인터페이스 대로 구현하되 서비스 내부 설정이나 로직이 바뀌는거지. 예를들어 디비가 너무 구식이라 바꿔야되는데 시스템이 너무 커서 업무별로 부분적으로 바꾼다고 치면. 이전의 모든 서비스 기능은 살려두되 일부만 교체해야되자늠. 부품바꾸듯이 교체할수잇단것임
ISP떄문인건 대충 알곤있는데 막상 내가 구현해보니 이게 왜필요한지 전혀모르겠다 니말대로 부품바꾸듯이 교체한다치는데 그럼 servce랑 serviceimpl 두번을 수정해야되는 번거로움 가져야되지않냐
서비스는 수정안하고 impl만 갈아끼운다고..
너가 service 인터페이스에다가 calc라는 계산함수를 선언했다고 serviceimpltriangle 이란걸 만들어서 삼각형 넓이를 구하고 있었는데, 나중에 삼각형 넓이 말고 원의 넓이를 구하도록 바꾸고 싶은거야 그러면 serviceimplcircle을 만들어서 인터페이스 구현해서 갈아끼워주면 됨. 기존꺼는 건드는게 아니라
ㅇㅎ 이해는했는데 큰플젝을 안햇으니 체감안됨
그거 모르면 붕어빵 굽는 시간만 30분
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
ㅇㅇ 그럴필요없다고 대답하면됨
맞음 진짜 궂이임
어차피 엎을때되면 상상충들이 생각하는가만큼 쉽게 교체도 절대안됨 ㅋㅋ 오히려 좆같이 무거워서 발목잡히지