객체지향 프로그래밍

jina Seo·2022년 11월 18일
0

객체지향프로그래밍

  • 객체지향 프로그래밍이 등장하기전에는 절차지향 프로그래밍
  • 객체지향 프로그래밍의 등장으로 데이터의 접근과, 데이터의 처리 과정에 대한 모형을 만들어 내는 방식을 고안했고
    따라서, 데이터와 기능이 별개로 취급되지 않고, 한 번에 묶여서 처리할 수 있게 되었습니다.
  • 객체 내에는 데이터(속성) + 기능(메서드)

객체지향 프로그래밍의 주요개념

  1. 캡슐화
  • 데이터와 기능을 하나의 단위로 묶는 것
  • 은닉(hiding): 구현은 숨기고, 동작은 노출시킴
  • 느슨한 결합(Loose Coupling)에 유리: 언제든 구현을 수정할 수 있음
  1. 추상화
    추상화는 내부 구현은 아주 복잡한데, 실제로 노출되는 부분은 단순하게 만든다는 개념
  2. 상속화
    상속은 부모 클래스의 특징을 자식 클래스가 물려받는 것입니다.

부모/자식으로 이야기하기도 하지만, 보다 그 특징을 자세하게 설명하는 용어는 "기본 클래스(base class)의 특징을 파생 클래스(derived class)가 상속받는다"로 표현하는 것이 적합합니다.

  1. 다형성
    마지막으로 다형성에 대해 다룹니다. Polymorphism이라는 단어의 poly는 "많은", 그리고 morph는 "형태"라는 뜻을 가지고 있습니다. 즉 "다양한 형태"를 가질 수 있다는 말이 되겠죠?

"말하다"라는 동작의 본질은 "입으로 소리를 내다"를 의미합니다. 그러나, 각기 다른 동물들이 "말할 때" 제각각의 소리를 내는 것처럼, 객체 역시 똑같은 메서드라 하더라도, 다른 방식으로 구현될 수 있습니다.

profile
운동하는 개발자가 꿈입니다?

0개의 댓글