본문 바로가기

프로그래밍/객체지향

[객체지향] 객체 지향 프로그래밍이란?

반응형

* 객체지향 프로그래밍

개발자가 구현하려는 시스템 혹은 모듈의 모든 개체(배달앱으로 생각하면 사용자, 배달기사, 음식점, 주문, 결제) 들을

추상화(모델링) 하여 상태와 행위를 가지는 명세(클래스)를 만들고 명세를 통해 실제 동작하는 

객체를 만들어 이들간 상호 작용을 이용하는 프로그래밍 기법

 

클래스와 객체, 추상화 생각해보기

https://tgio.tistory.com/47

 

[객체지향] 클래스,객체에 대해 생각해보기(계속 추가)

* 클래스 (Class) - 객체지향에서 실제 객체를 모델링(추상화)하여 공통적인 상태와 행위를 설계(명세)한 것 - 객체의 공통된 부분을 명세하여 같은 상태와 행위를 가진 객체 생성 할 때 사용 => 클

tgio.tistory.com

 

* 객체지향 프로그래밍의 장단점?

장점

  - 코드 재사용

    → 작성된 클래스나 메서드, 상속을 통해 코드를 재사용 할 수 있음

  - 유지 보수

     캡슐화를 통해 다른 객체의 변경에 의도하지않는 동작을 막을 수 있다 (독립성?)

  - 모듈성

     객체는 독립적인 하나의 모듈이므로 모듈이 많은 대형 프로젝트 시 공동 개발에 용이

단점

  - 설계가 어렵다

    → 작은 단위의 모듈(객체)의 상호작용으로 구성되기 때문에 설계하기 어려움

  - 성능이 상대적으로 느리다

    → 다양한 객체들로 이루어지기 때문에 컴파일 속도가 느리다.

    → 구성 데이터에 집중하기 때문에 계산이나 알고리즘에 소홀할 수 있다. 

 

 

반응형