Dev/Java

객체 지향이란?

OK-가자 2022. 3. 20. 21:22

1. 객체 지향이란?

1. 객체지향의 등장

개념은 1970년대 등장.

먼저 C언어는 절차지향 - 순서대로 명령어를 입력해서 실행.
이 때는 프로그램의 단위가 크지 않았음. 간단한 Logic을 순차적으로 처리하여 결과를 얻음
👉시간이 지날수록 복잡도가 증가👉유지보수 비효율 👉개발기간 비효율

👨효과적인 개발방식을 위해 채택했는게 객체지향.
캡, 추, 다, 정, 상
캡슐화 추상화 다양성 상속 정보은닉 + 재사용 등 여러 곳에서 객체지향으로 개발을 시작

🧓객체지향이란 현실에 존재하는 사물을 있는 그대로 모델링
이들의 행위와 속성 정의
객체가 중심이 되어 실제 사물이 동작하는 방식으로 설계

 사물  👉 객체
 행위  👉 메서드
 사물의 속성 👉 변수

이걸 따르는 언어가 JAVA.
제임스 고슬링 형님이 만듬.

2.객체 설계

객체 👉 사물 👉 Object

그래서 객체는
👩‍💼 상태 유지(객체의 상태)
👨‍💼 기능 제공(객체의 책임)
👩‍🔬 고유 식별자 제공(객체의 유연성)

이 3가지가 갖춰야지 완전객체고 아니면 불완전객체다.

3. 물리 객체 vs 개념 객체

👱‍♂️물리객체는 실제 물건.
이를 클래스로 정의한 것

👱‍♂️개념객체는 Service, 혹은 business logic을 처리하는 부분을 의미한다.

👱‍♂️business logic에서는 여러 객체를 서로 상호작용 하도록 하며, 객체가 제공하는 method를 통하여 객체의 속성을 변경 시킵니다.