[OOP] 1. Object Oriented

DjooJoo·2022년 4월 18일
0

OOAD

목록 보기
1/9
post-thumbnail

![#00BCD4]

OOP란 ?

Object-Oriented Programming은 객체의 관점에서 프로그래밍을 한다는 것이다.

  • 절차 지향 프로그래밍 : 프로세스가 함수 단위로 순서대로 진행
  • 객체 지향 프로그래밍 : 객체들의 유기적인 관계를 통해서 프로세스가 진행

따라서 프로그램을 구성하는 요소들을 객체로 바라보고, 객체들을 유기적으로 연결하여 프로그래밍 하는 것을 말한다.

기본 구성

1. Object (객체)

object is an entity with a well-defined boundary and identity that encapsulates states(attributes) and behavior(operations).
No one objects can carry out every responsibilities on its own,
Objects are useful only when they can collaborate to solve the problem.

객체는 대상을 나타내는 단어이며 실제로 존재하는 데이터를 의미한다.
한 객체는 고유의 status와 behavior를 가지게 되며 각각의 객체들은 message 를 통해 상호작용하게 된다.

공장에서 나오는 인형 하나하나의 상태, 고유번호가 다르듯이,
같은 생김새를 가지고 있다 하더라도 그 하나하나를 객체라 할 수 있다.

  • State : 객체의 상태
  • Behavior : 객체의 act/react

2. Class (클래스)

Objects are instance of a class.
Class is abstract definition of an object.

공통적인 속성(state & behavior)들을 가진 object들을 정의내린 것을 class 라고 한다.
object들의 template 역할을 한다.

흔히들 class는 '붕어빵 틀', object는 '붕어빵'으로 비유한다.
붕어빵 틀에 여러가지 앙금을 넣어서 붕어빵을 만들게 되면, 다양한 붕어빵을 만들 수 있다.
이 때, 붕어빵 틀처럼 object를 만들 때 사용하는 것을 class,
팥, 슈크림 등 앙금들은 객체의 특징들은 attribute 가 된다.

  • Attribute : class의 property
    - Class.Attribute
  • Operations(method) : class가 행하는 행동
    - Class.method()

3. Method, Message

Communication between Objects

객체를 사용하는 방법으로, 객체에 명령을 내리는 메시지이다.

profile
newb-grammer

0개의 댓글