1. 객체 지향이란?

Yeppi's 개발 일기·2022년 5월 10일
0

객체지향

목록 보기
1/4

1. 객체 지향이란?

  • 현실에 존재하는 사물을 그대로 모델링하여, 이들의 행위속성을 정의

  • 객체가 중심이 되어 실제 사물이 동작하는 방식으로 설계하기 시작함

  • 절차지향보다 조금 더 편리한 설계

  • 사물 → 객체 Object

    사물이 하는 → 행위 Method

    사물이 가지는 속성 → 변수 Variable


2. 객체 설계하기

속성 1 → 자동차 이름, 자동차 번호, 등록년월, 모델명 등

속성 2 → 아이디, 패스워드, 이메일, 전화번호 등

속성 3 → 계좌번호, 잔고, 예치금, 이율 등

3. 메소드 설계하기

행위 1 → 주행거리, 연비계산, 번호교체, 등록증갱신 등

행위 2 → 계정등록, 계정삭제, 비밀번호 변경, 이메일 변경 등

행위 3 → 잔고계산, 이율계산, 입금기록, 출금기록


4. 객체의 3가지 요소

1) 상태 유지 → 객체의 상태

객체의 상태 정보 저장 및 유지하기위해 이런 속성들은 변수로 정의되어야 함

속성값 변경 시 객체의 상태로 변경되어야 함

2) 기능 제공 → 객체의 책임

객체는 기능을 제공하기위해 메소드로 제공함

캡슐화 연관 → 외부로부터 직접 속성에 접근하여 변경하는 것이 아닌, 객체가 제공하는 메서드로 기능이 제공 되어야 함

3) 고유 식별자 제공 → 객체의 유일성

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

카드번호, 계좌번호, 자동차번호 같은 속성을 통해 각각의 고유한 값을 줄 수 있음

DB의 UK, PK로도 작성이 가능


5. 물리객체

실제로 사물이 존재하고, 이를 클래스로 정의한 객체

6. 개념객체

개발할 웹 시스템 중 Service에 해당됨

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

여러 객체를 서로 상호작용하도록 하며, 객체가 제공하는 오퍼레이션 메서드를 통해 객체의 속성을 변경시킴

ex. ATM 시스템 → 사용자(Object)의 Action에 따라, 계좌(Object)의 잔고의 속성을 변경하는, 입출금 로직 처리

profile
imaginative and free developer. 백엔드 / UX / DATA / 기획에 관심있지만 고양이는 없는 예비 개발자👋

0개의 댓글