6-1. 객체 지향 프로그래밍
<aside>
🤡 객체 지향 프로그래밍(OOP : Object Oriented Programming)
소프트웨어를 개발할 때 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립해서 완성된 프로그램을 만드는 기법
</aside>
- 객체 지향 프로그래밍을 이해하기 위해서는 객체의 개념과 객체의 상호작용에 대해 알아야 한다.
객체란?
객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고, 다른 것과 식별 가능한 것을 말한다.
- 객체는 속성과 동작으로 구성되어 있다.
- 자바에서는 속성과 동작을 각각 **필드(field)**와 **메소드(method)**라고 부른다.
- 현실 세계의 객체를 소프트웨어 객체로 설계하는 것을 **객체 모델링(Object Modeling)**이라고 한다.
- 객체 모델링은 현실 세계 객체의 속성과 동작을 추려내어 소프트웨어 객체의 필드와 메소드로 정의하는 과정이다.
객체의 상호작용
현실 세계에서 일어나는 모든 현상은 객체와 객체의 상호작용으로 이루어져 있다.
- 소프트웨어에서도 마찬가지로, 객체들은 독립적으로 존재하고, 다른 객체와 서로 상호작용 하면서 동작한다.
- 객체들 사이의 상호작용 수단은 메소드이다.
- 객체가 다른 객체의 기능을 이용하는 것이 메소드 호출이다.