본문 바로가기

Java, Spring/스프링 핵심 원리 기본

1-4. 객체 지향 설계와 스프링

DI 로 OCP, DIP를 가능하게 지원한다.

 

 

 

모두 인터페이스를 먼저 놓고 구현체를 구현하게 되면 만약 우리가 DB를 정하지 않은 상태더라도 인터페이스를 넣어두면 다른 것 부터 개발 할 수 있다.

 

 

이상적으로는 인터페이스의 도입이 좋지만 인터페이슬르 남발하면 추상화라는 비용이 발생한다. ( 이 떄 비용은 성능에 대한 게 아니라 일단 단순하게 인터페이스만들고 구현체도 만들어야함. 또한 추상화가 되어버리면 개발자 코드를 한번 더 열어봐야됨. ) 런타임에 연결되므로 코드 열면 인터페이스만 보이는데 구현체까지 한 번더 들어가야함.

 

-> 이런 단점도 있으므로 장점이 더 클때만 사용...

 

팁!!!!!: 더 이상 기능을 확장할 가능성이 없으면 바로 구체 클래스를 쓴다. 만약 향후 필요하다면 리팩터링하여 인터페이스로 구현 (= 확장가능성이 조금이라도 있다면 처음부터 인터페이스 도입하는게 낫다.)

 

 

 

 

# 인프런 김영한님의 강의를 수강한 후 작성한 글입니다.

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard

Recent Posts
Popular Posts
Recent Comments