객체지향 사실과 오해

kkkkkdddddhhhhh 2024. 4. 17. 17:31

현재 기억에 남는 부분들을 간단하게 적어보기로...

 

 

1. 객체는 협력하기 위해 존재한다.

- 서로 협력하기위해 각각의 객체들마다 고유의 책임을 가지고있고 협력하기위해 메서드를 가진다.

 

2. 객체를 만들때 상태 중심이 아닌 객체의 행동을 중심으로 결정하자.

-  객체의 행동은 협력에 참여하기위한 유일한 방법.

-  상태 중심의 객체는 캡슐화에 저하 -> 메서드를 통한 데이터 변경이 아닌 필드값을 직접 조작해 변경을 할 확률이 큼.

 

3. 추상화란?

- 단순화를 통해 복잡성 극복

- 목적에 맞게 코드를 단순화 

- 공통점을 취하고 차이점을 버리자.

- 불필요한 세부사항을 버리자.

 

4. 객체는 그 객체만의 책임이 존재해야한다.

- 서로 다른 책임을 가지고 있는 객체들의 협력 -> 객체지향 프로그래밍

 

5. 분류

- Class 란 서로 다른 책임을 가지고있는 객체들의 Classification (분류) 방법 

 

6. 메시지와 메서드

- 메서드를 추상화 한뒤 다형성을 이용해 구현을 하자.

- 위처럼 추상화와 다형성을 이용해 유연하고 재사용성이 높은 소프트웨어를 설계하자.