객체 지향 프로그래밍(OOP)란??

컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립 된 단위, 즉 “객체”들의 모임으로 파악하고자 하는 것 출처 : https://ko.wikipedia.org/wiki/객체_지향_프로그래밍

쉽게 얘기하자면, 프로그램 구현에 필요한 객체를 파악하고, 각각의 객체들의 역할이 무엇인지 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것을 말한다.

객체가 중심이 되어, “어떤 객체가 무슨 일을 할 것인가??” 가 핵심이다.


왜 객체 지향 프로그래밍(OOP)이 나왔을까??

OOP 이전에는 명령어의 목록을 나열(절차 지향)하는 프로그래밍 방식을 사용

절차 지향 프로그래밍은 사용하다 보면 코드가 길어지고, 길어지면 매우 알아보기 힘든 복잡한 코드로 형성된다. 또한 이렇게 되면 유지 보수가 굉장히 힘들다. 이 부분은 객체 지향 프로그래밍의 장점에서 알아보자.


객체 지향 프로그래밍의 특징

1. 추상화

추상 : 사물이나 표상을 어떤 성질, 공통성, 본질에 착안하여 그것을 추출하여 파악하는 것

→ ‘공통성과 본질에 모아 추출’ 이 핵심

OOP에서 의미하는 추상화는 객체의 공통적인 속성과 기능을 추출하여 정의하는 것을 뜻한다.

아래 그림은 Vehicle을 추상화하여 Class를 형성했다고 할 수 있다.

https://www.codestates.com/blog/content/객체-지향-프로그래밍-특징

https://www.codestates.com/blog/content/객체-지향-프로그래밍-특징