객체 지향 프로그래밍이란?
- 프로그래밍 개발 방법론
- 사람이 현실을 바라보는 방법을 개발에 접목 - 직관적으로 이해하기 쉽다. 유지 보수를 용이하게 만든다.
객체
- 현실의 무언가에 대응하는 개념
- class : 객체를 표현하는 하나의 수단(class != 객체)
- 다른 객체와 협력하는 역할을 맡고 있는 대상 => 역할을 맡으면 임무를 수행할 책임이 생긴다. => 책임을 다하기 위한 데이터와 프로세스를 가지고 있다.
협력과 책임, 역할
- 협력 : 시스템 목표를 달성하기 위해 여러 객체가 참여하여 행동하는 것
- 책임 : 협력 속에서 본인이 수행해야 할 임무의 내용을 알고 수행하는 것
- 역할 : 동일한 목적을 가진 책임의 묶음
메시지
- 객체는 메시지를 통해 다른 객체에 책임을 요구한다.
- 메시지를 보내는 객체는 무엇을 할지만 요구하고, 어떻게 하는지는 신경쓰지 않아도 된다.
- 책임을 요구받은 객체는 자율적으로 처리한다.
자율성(의인화)
- 객체 지향에서는 객체가 자율적으로, 능동적으로 행동할 수 있다고 의인화하여야 한다.
- 자율적으로 메시지를 처리하기 위해서 자신의 책임을 수행하는 데 필요한 데이터와 프로세스를 가지고 있다.
다형성
- 객체 지향에서 다형성을 활용하는 목적은 서로 다른 유형의 객체가 동일한 메시지(같은 역할을 수행)에 대해 다르게 반응(메시지 처리 방법은 자율적)하게 하기 위해서이다.
책임 주도 개발
- 시스템이 사용자에게 제공해야 하는 기능인 시스템 책임을 파악한다.
- 시스템 책임을 더 작은 책임으로 분할한다.
- 분할된 책임을 수행할 수 있는 적절한 객체 또는 역할을 찾아 책임을 할당한다.
- 객체가 책임을 수행하는 도중 다른 객체의 도움이 필요한 경우 이를 책임질 적절한 객체 또는 역할을 찾는다.
- 해당 객체 또는 역할에게 책임을 할당함으로써 두 객체가 협력하게 한다.
'공부 기록 > 영상 후기' 카테고리의 다른 글
WEB2 - OAuth 2.0 : 5. Resource Server의 승인 (0) | 2023.03.21 |
---|---|
WEB2 - OAuth 2.0 : 4. Resource Owner의 승인 (0) | 2023.03.21 |
[10분 테코톡] 범블비의 MVC Pattern (0) | 2023.03.21 |
[10분 테코톡] 차리의 Stream (0) | 2023.03.20 |
[10분 테코톡] 루나의 Gradle (0) | 2023.03.20 |