스프링은 객체 지향 프로그래밍을 효과적으로 구현하기 위해 만들어 졌다.

프로그램은 절차지향에서 객체 지향 , 다시 좀더 쉽게 객체 지향적으로 프로그램을 만들기 발전해 왔다.

객체 지향의 4 대 특성

1)캡슐화

2)상속

3)다형성

4)추상화

객체 지향의 원리(SOLID)

좋은 객체 지향 프로그램의 원칙을 로버트 마틴이 객체 지향 설계의 5가지 원칙으로 정리했다

SRP: 단일 책임 원칙(single responsibility principle)

모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화 해야 한다.


//사람 클래스에 군번 속성이 있다고 가정 
class man {
  int  soldiernumber;
}

man james = new man();
man jane =new man();

jane.solidernumber ="164236726"; //  불합리한 경우가 생긴다.

OCP: 개방-폐쇄 원칙 (Open/closed principle)