Spring Core 학습

Jae-Baek Song·2023년 4월 6일
0

스프링

목록 보기
2/10

스프링 부트

스프링 부트는 기본적인 설정을 자동으로 처리해주는 기능을 제공한다.
스프링 부트는 필요한 라이브러리와 의존성을 자동으로 관리해준다.
스프링 부트는 내장 서버를 지원한다.


오버로딩

같은 이름의 메서드를 지원하면서 매개변수의 유형과 개수가 다르도록 하는 기술

오버라이딩

상위 클래스가 갖고 있던 메서드를 하위 클래스에서 재정의 하여 사용하는것


다형성

객체를 설계할 때 역할(인터페이스)과 구현(인스턴스)을 명확히 분리

  • 클라이언트를 변경하지 않고, 서버의 구현 기능을 유연하게 변경할 수 있다.

SOLID

좋은 객체 지향 설계의 5가지 원칙

SRP 단일 책임 원칙

  • 하나의 클래스는 하나의 책임만 가져야 한다.
  • 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른것

OCP 개방-폐쇄 원칙

  • 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.
  • 다형성 활용
  • 구현 객체를 변경하려면 클라이언트 코드를 변경해야한다.
  • 객체를 생성하고, 연관 관계를 맺어주는 별도의 조립, 설정자가 필요하다.

LSP 리스코프 치환 원칙

  • 프로그램 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀수 있어야 한다.

DIP 의존관계 역전 원칙

  • 추상화에 의존해야지, 구체화에 의존하면 안된다.
  • 인터페이스에 의존해야 유연하게 구현체를 변경할 수 있다.

다형성 만으로는 OCP, DIP를 지킬수없다.


프레임워크 vs 라이브러리

내가 작성한 코드를 제어하고, 대신 실행하면 프레임워크 (JUnit)
내가 작성한 코드가 직접 제어의 흐름을 담당한다면 라이브러리

0개의 댓글