OPP(Object Oriented Programming)

전영호·2021년 2월 26일
1

OOP란?

Object Oriented Programming의 줄임말로 '객체 지향 프로그래밍'을 뜻한다.

컴퓨터 프로그램 설계 철학으로 프로그램을 명령어들의 모임으로 보는 시각에서 벗어나 여러개의 독립 단위, 즉 '객체'의 모임으로 파악하려고 하는 것이다.

이는 프로그래밍을 사람이 현실 세계를 보고 이해하는 방법을 흉내 낸 방법론이다.
(때문에 사람이 이해하기 쉬울 수 있음.)

OOP의 특징

OOP는 4가지의 중요한 특징이 있다.
캡슐화, 추상화, 상속성, 다형성 이렇게 4가지의 특성이다.

1. 캡슐화 (Encapsulation)

캡슐화는 데이터와 기능을 하나의 단위로 묶는 것을 말한다. (속성과 기능을 하나의 객체 안에 만드는 것)
캡슐화의 특징은 다음과 같다.

  1. 은닉화(hiding) : 구현을 숨기고, 동작만을 노출.
  2. 느슨한 결합(Loose Coupling) : 언제든 구현을 수정 할 수 있다.

2. 추상화 (Abstraction)

추상화는 내부 구현이 복잡한데, 실제로 보여지는 부분을 단순하게 만든다는 개념이다.
추상화의 특징은 다음과 같다.

  1. Interface 단순화 : 너무 많은 기능을 노출 시키지 않게 함. (예기치 못한 사용중 변화를 줄일 수 있음)

3. 상속성 (Inheritance)

상속성은 상위 클래스(부모 클래스)의 특징을 하위 클래스(자식 클래스)가 물려받는 것을 말한다.
추상화의 특징은 다음과 같다.

  1. 재정의(Redefine) 불필요 : 상위 클래스에 정의된 속성과 메소드를 다시 정의 하지 않아도 된다.

상속성을 이용하면 이미 정의된 상위 클래스의 모든 속성과 메소드를 다시 정의하지 않고도 자신의 속성과 메소드로 사용할 수 있다.

4. 다형성 (Polymorphism)

다형성은 뜻 그대로 다양한 형태를 가질 수 있는 것을 말한다.
다형성의 특징은 다음과 같다.

  1. Method 단순화 : 다형성이 없다면 상위 클래스에 종류별로 분기를 시켜서 Method를 하나하나 모두 다르게 만들어야 한다.

다형성의 가장 중요한 의미는 조건을 거는 대신 객체의 특성에 맞게 다르게 작성하는 것이 가능하다는 것이다.

4가지의 특성 모두 사용자가 좀 더 편하게 코드를 작성 할 수 있게 한다.

profile
인생 1회차 주니어 개발자

0개의 댓글