CS 간단정리 - [1] 객체지향프로그래밍 (OOP)

Dongwoo Kim·2022년 9월 1일
0

CS 간단정리

목록 보기
1/6

1. 객체 지향 프로그램이란?

OOP (Object-oriented programming)


현실 세계의 사물 하나를 객체 하나라고 보고 해당 객체를 기반으로 속성들과 행위들을 작성하여 프로그램밍 하는 것


2. 특징

1) 클래스 (Class)

테이터 형식에 대한 정의 및 객체의 주어진 유형

2) 객체 (Object)

클래스의 인스턴스

3) 상속 (Inheritance)

상위 클래스의 특징을 이어받아 하위 클래스의 특징을 재정의할 수 있는 것

4) 다형성 (Polymorphism)

상위클래스나 다른 하위클래스와 독립적으로 행동할 수 있는 것

5) 캡슐화 (Encapsulation) & 추상화 (Abstractio)

캡슐화 : 외부 코드가 객체의 내부 작동과 관련되는 것을 방지하는 것
추상화 : 데이터 오용을 방지하기 위해 의미적으로 관련된 기능에만 데이터를 표시하는 것


3. 장단점

1) 장점

  • 작성된 코드를 상속을 통해 재사용할 수 있다.
  • 상속으로 데이터 중복성을 줄일 수 있다.
  • 유지 보수가 덜 필요하고 더 안전하다.

2) 단점

  • 초기에 OOP 구조를 이해하는 데 시간이 필요하다.
  • 코드 작성이 길어지고 프로그램의 크기가 크다.
  • 다른 프로그래밍 언어보다 느리다.
  • 모든 문제에 적합하지는 않다.



참고 )

profile
kimphysicsman

0개의 댓글