본문 바로가기
언어/JAVA

객체 지향 프로그램

by step 1 2021. 4. 12.
반응형

객체

  • 의사나 행위가 미치는 대상
  • 구체적, 추상적 데이터 단위

객체지향

  • 현실에 존재하는 사물을 그대로 모델링하여, 이들의 행위와 속성을 정의하고, 절차적이 아닌 객체가 중심이 되어 실제 사물이 동작하는 방식으로 설계하기 시작
  • 사물에 대해서는 객체(Object)라고 부르며, 해당 사물이 하는 행위를 Method로 정의하고 해당 사물이 가지는 속성을 변수 (Variable)라고 정의 한다.

객체의 3가지 요소

- 상태 유지 (객체의 상태)

  •  객체는 상태정보를 저장하고, 유지되어져야 하며 이러한 속성(Variable)은 변수로 정의 되어져야 한다. 이러한 속성값이 바뀜으로 인하여, 객체의 상태가 변경 될 수 있어야 한다.

- 기능 제공 (객체의 책임)

  • 객체는 기능을 제공해야 한다. 이 부분은 Method의 제공으로 이루어진다.
  • 이 부분은 캡슐화와 연관이 있으며, 외부로부터 직접 속성에 접근하여 변경하는 것이 아닌 개체가 제공하는 Method로 기능이 제공되어져야 한다.

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

  • 각각의 객체는 고유한 식별자를 가져야 한다.
  • 예를 들면 카드번호, 계죄번호, 자동차 번호와 같은 속성을 통해서 각각 고유한 값을 줄 수 있으며 이는 이후 DB에서 Unique Key, 또는 Primary Key로도 작성이 가능하다

물리 객체와 개념 객체

  • 물리 객체: 실제로 사물이 존재하며, 이를 클래스로 정의한 객체를 의미
  • 개념 객체: 웹 시스템에서 Service에 해당되며, 이는 business logic을 처리하는 부분을 의미
  • Business logic: 여러 객체를 서로 상호작용 하도록 하며, 객체가 제공하는 오퍼레이션 method를 통하여 객체의 속성을 변경 시킨다.

객체 지향 프로그램 구현 방법

  • 객체를 정의
  • 각 객체가 제공하는 기능 구현
  • 각 객체가 제공하는 기능들 간의 소통(메세지 전달)을 통하여 객체간의 협력을 구현

객체지향의 특성

  • 추상화, 상속, 은닉, 재사용 인터페이스, 캡슐화 등

 

 

반응형

'언어 > JAVA' 카테고리의 다른 글

인스턴스, 힙 메모리, 용어 정리  (0) 2021.04.12
메서드(함수)  (0) 2021.04.12
중간에 멈추는 break문, 무시하고 계속 진행하는 continue문  (0) 2021.04.11
반복문  (0) 2021.04.11
조건문  (0) 2021.04.10