인프런 김영한 선생님의 자바 스프링 기본편을 듣고 정리한 내용입니다.


 

스프링이라는 이름은 EJB라고 스프링 이전에 쓰던 프레임워크가 지옥같아서

이 지옥같은 겨울이 지나고 봄이 왔다! 라는 뜻에서 지어졌다고 한다.

재밌따..

 

 

스프링은 왜 만들어졌을까?

  • 스프링은 자바 언어 기반의 프레임워크
  • 자바 언어의 가장 큰 특징은 객체 지향 언어임!
  • 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크다.


객체 지향 프로그래밍은 뭔가?

  • 명령어 목록이 아니고, 객체 들의 모임으로 파악하고자 하는 것
  • 유연하고 변경이 용이함.

 

 


다형성

  • 역할과 구현으로 세상을 구분한다.
  • (역할)운전자는 (구현)자동차를 바꿔도 운전할 수 있다. ( ! )
  • 클라이언트는 역할 = 인터페이스만 알면 된다.


인터페이스

  • 인터페이스를 안정적으로 잘 설계해야함.
  • 이걸 잘해야 잘하는 개발자.


좋은 객체 지향 SOLID의 원칙

우왕 이거 정처기할 때 배운건데...!

  • SRP 단일 책임의 원칙 : 변경이 있을 때 파급이 적어야 한다.
  • OCP 개방-폐쇄 원칙 : 확장에는 열려 있고 변경에는 닫혀 있어야 한다. (다형성을 생각해보자.. 근데 코드를 보지 않으면 이해하기 힘들다. 예제 때 다시 만나요!)
  • LSP 리스코프 치환 원칙 : 객체는 프로그램의 정확성을 깨트리지 않으면서 하위 인스턴스로 바꿀 수 있어야 한다.
  • ISP 인터페이스 분리 원칙 : 인터페이스를 최대한 분리해서 역할 쪼개기
  • DIP 의존관계 역전 원칙 : 구현 클래스가 아닌, 인터페이스에 의존하라는 뜻. 


인터페이스

  • 인터페이스를 안정적으로 잘 설계해야함.
  • 이걸 잘해야 잘하는 개발자.

 

OOPS!

 

+ Recent posts