<
객체지향 이론
>
🌠다음 포스팅🌠

Spring IOC
☄이전 포스팅☄

2021-09-17-CODE-REVIEW
패스트 캠퍼스 스프링 강의

서론

1. 객체지향

객체지향의 개념은 1970년에 등장했으며 이전에는 C 언어처럼 실행하고자 하는 순서로 명령어를 처리하는 절차지향을 주로 사용해 왔다. 이후 프로그램의 복잡도가 높아지면서 이에 들어가는 유지보수, 개발기간 등의 다양한 부분에서 비 효율이 발생하면서 많은 개발자들이 효과적인 개발 방싱의 방법을 채택하게 되고 새로운 방식의 객체지향의 방법을 적용하게 된다

현실에 존재하는 사물을 있는 그대로 모델링하여, 이들의 행위와 속성을 정희하고, 절차적이 아닌 객체가 중심이 되어 실제 사물이 동작하는 방식으로 설계하였다.

1-1 객체 설계하기

1-2 객체지향의 특성

A. 캡슐화

B. 상속

C. 다형성

D. 추상화

객체지향 설계 5원칙

좋은 SW는 결합도는 낮추고 응집도는 높여야한다.

결합도와 응집도

1. SRP(Single Responsibility Principle) : 단일 책임의 원칙

2. OCP(Open Closed Priciple) : 개방 폐쇄 원칙

3. LSP(Liskov Substitution principle) : 리스코프 치환 원칙

4. ISP(Interface Segregation Principle) : 인터페이스 분리 원칙

5. DIP(Dependency Inversion Priciple) : 의존 역전 원칙

POJO(Plain Old Java Object)

순수한 자바 오브젝트를 뜻하며 EJB를 사용하던 사절에는 단순히 자바 오브젝트를 사용해서 개발하는 것이 아닌 EJB에 종속적인 부분으로 개발을 진행 때문에 모듈의 교체, 시스템 업그레이드시 종속성으로 인하여 불편함 발생

특징

  1. 특정 규약에 종속 되지 않는다. 특정 Library, Module에서 정의된 클래스를 상속 받아서 구현하지 않아도 된다. POJO가 되기 위해서는 외부의 의존성을 두지 않고, 순수한 JAVA로 구성이 가능해야한다.

  2. 특정 환경에 종속되지 않는다. 만일 특정 비즈니스 로직을 처리하는 부분에 외부 종속적인 요소가 포함될 경우 이를 위배한 것으로 판단하다.

    또한 많이 사용되고 있지만 @Annotation 기반으로 설정하는 부분도 엄연히는 POJO라고 볼 수 ㅇ없다.

POJO Framework

  1. Spring, Hibernate 하나의 서비스를 개발하기 위해, 시스템 및 서비스의 복잡성을 마주하게 되는데 해당 프레임 워크는 객체지향적인 설계의 특성을 지니고 있으며 POJO를 지향하고 있다.
Top
Foot