본문 바로가기

백엔드/개발과 설계 원칙

객체지향이란

반응형

** 등장 배경

 

기존의 절차지향 언어를 통한 개발에서의 비효율이 그 근본적인 원인.

 

프로그램이 복잡해지기 시작하며 단순한 로직에서 벗어나기 시작했고

이에 발 맞추어 효율적인 개발의 필요가 생겨나기 시작함.

 

추상화, 은닉, 상속, 재사용, 인터페이스 등의 특성을 활용하여 개발 시작.

 

** 객체 설계하기

 

- 상태유지

상태 정보 저장, 유지되어져야하고, 변수로 정의되어야한다.

 

- 기능 제공

기능을 제공해야하며, 메서드로 제공이된다.

캡슐화와 연관이 있다. 

 

- 고유 식별자 제공 (객체의 유일성)

각각의 객체는 고유한 식별자를 가져야함

 

 

**물리 객체 , 개념 객체

 

- 물리 객체 : 

실제 사물이 존재. 이를 클래스로 정의.

 

- 개념 객체 :

우리가 개발한 웹 시스템에서 Service에 해당, 

비즈니스 로직을 처리하는 부분.

비즈니스 로직에서는 여러 객체가 서로 상호작용하도록 하며, 객체가 제공하는 오퍼레이션 메서드를 통해 객체의 속성을 변경시킨다.

 

 

 

** 특성

 

- 캡슐화

객체의 속성을 보호하기 위해 사용.

 

메서드 설계 :

     1.속성이 선언되면, 이의 상태를 변경하는 메서드가 있어야한다.

     2.실물 객체가 가진 기능을 제공해야한다.

     3.각각의 메서드는 서로 관련성이 있어야한다.

     4.객체 안의 메서드는 객체 안의 속성을 처리해야하며, 다른 객체를 전달받아 해당 다른 객체의

     정의된 속성을 직접처리하면 안된다.

 

Getter, Setter : 외부에서 내부 속성에 직접 접근하는 것이 아닌, Getter/Setter 메서드를 통해 접근하도록 적용

CRUD :  데이터 처리를 위한 기본.

Business Logic Method

객체의 생명 주기 처리 메서드 : destroy, disconnect, quit 등에 대한 메서드

객체의 영구성 관리 메서드 : 영구성, 유효성에 대한 변경이 필요한 경우 외부에서 접근이 불가하도록 private로 관리, 내부의 다른 메서드를 통해서 사용되도록한다.

 

장점

객체지향의 패러다임 중 하나인 추상화를 제공

재사용성 향상

무결성 : 보통의 캡슐화 코딩이란, 변수는 private이고, 메서드는 public으로 선언하는 형태.

              Getter, Setter를 제외하고는 public method는 입력된 매개변수를 Validation을 한 후에 실행하는 것을 기본으로 함.

 

 

 

 

- 상속

 

프로그램 구조에 대한 이해도 향상

재사용성 향상

확장성 향상

유지보수성 향상

 

 

- 다형성

 

하나의 객체가 여러 개의 형태로 변화하는 것을 말하며, 객체지향에서도 유사하게 사용.

다형성을 위해서는 오버라이딩을 활용

 

 

 

 

 

 

반응형

'백엔드 > 개발과 설계 원칙' 카테고리의 다른 글

MSA  (1) 2022.09.01
객체지향 설계 5원칙  (0) 2022.06.12
Impl 분류하는 이유  (0) 2022.04.10
디자인 패턴 - 빌더 패턴  (0) 2022.03.07
Spring 예외처리  (0) 2022.03.03