[Spring] 객체지향이란

고지훈·2021년 12월 29일
1

Spring

목록 보기
4/26
post-thumbnail

객체지향

  • 객체지향이란 현실에 존재하는 사물을 있는 그대로 모델링하여, 이들의 행위와 속성을 정의하고 절차적이 아닌 객체가 중심이되어 실제 사물이 동작하는 방식으로 설계하는 방법
  • 사물은 객체라고 부르며, 사물이 하는 행위를 메소드로 정의하고 해당 사물이 가지는 속성을 변수라고 정의한다.
  • 실제 사물을 중심으로 설계를 하기 때문에 절차지향보다 편리하게 설계가 가능해졌다.

객체의 3가지 요소

  • 상태 유지
    • 객체는 상태 정보를 저장하고, 유지되어져야하며 이러한 속성은 변수로 정의되어야 한다.
    • 이러한 속성 값이 바뀜으로 인하여 객체의 상태가 변경될 수 있어야 한다.
  • 기능 제공
    • 객체는 기능을 제공해야 한다. 이 부분은 메소드의 제공으로 이루어진다.
    • 외부로부터 직접 속성에 접근하여 변경하는 것이 아닌, 객체가 제공하는 메소드로 기능이 제공되어야한다.
  • 고유 식별자 제공
    • 각각의 객체는 고유한 식별자를 가져야한다.
    • DB에서 Unique Key또는 Primary Key로 작성이 가능하다.

물리 객체와 개념 객체

  • 물리 객체
    • 물리적 객체는 실제로 사물이 존재하며, 이를 클래스로 정의한 객체
    • 자동차 대여 시스템: 자동차, 고객, 정비소등...
  • 개념 객체
    • 웹 시스템에서 Service에 해당되며 비지니스 로직을 처리하는 부분을 의미
    • 비지니스 로직에서는 여러 객체를 서로 상호작용하도록 하며, 객체가 제공하는 오퍼레이션 메소드를 통해 객체의 속성을 변경시킴
profile
"계획에 따르기보다 변화에 대응하기를"

0개의 댓글