[목차]


🤔 객체 지향 프로그래밍 그게 뭔데?

📌 그 전에 객체부터 알아보자

<aside> 💡 객체(Object)란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서

  1. 자신의 속성을 가지고 있고 2) 식별 가능한 것을 말한다.

</aside>

ex) [사람] 속성: 이름, 나이 / 동작: 웃다, 걷다
ex) [자동차] 속성: 색깔, 모델명 / 동작: 달린다, 멈춘다

여기서 속성은 필드(filed), 동작은 메소드(method)

📌 절차 지향 vs 객체 지향

Untitled

절차 지향은 실행에 초점을 맞추고 객체는 데이터에 초점을 맞춘다!

데이터를 객체로 취급하여 프로그램에 반영하고, 순차적으로 프로그램이 동작하는 것과는 다르게 객체의 상호작용을 통해 프로그램이 동작하는 것을 객체 지향 프로그래밍이라 할 수 있다.

객체를 연결시켜 프로그래밍하면 상속, 캡슐화, 다형성을 이용해 코드 재사용을 증가시키고, 유지보수를 감소시켜주는 장점이 있다.

📌 객체는 어떻게 상호작용 하지?

Untitled

리턴값 = 전자계산기객체.더하기메소드(매개값1, 매개값2, ...);
int result = Calculator.add(10,20)