본문 바로가기

공부 기록/영상 후기

[10분 테코톡] 웨지의 OOP

https://youtu.be/3etKkkna-f0

객체 지향 프로그래밍이란?

- 프로그래밍 개발 방법론

- 사람이 현실을 바라보는 방법을 개발에 접목 - 직관적으로 이해하기 쉽다. 유지 보수를 용이하게 만든다.

  

객체

- 현실의 무언가에 대응하는 개념

- class : 객체를 표현하는 하나의 수단(class != 객체)

- 다른 객체와 협력하는 역할을 맡고 있는 대상 => 역할을 맡으면 임무를 수행할 책임이 생긴다. => 책임을 다하기 위한 데이터와 프로세스를 가지고 있다.

  

협력과 책임, 역할

- 협력 : 시스템 목표를 달성하기 위해 여러 객체가 참여하여 행동하는 것

- 책임 : 협력 속에서 본인이 수행해야 할 임무의 내용을 알고 수행하는 것

- 역할 : 동일한 목적을 가진 책임의 묶음

  

메시지

- 객체는 메시지를 통해 다른 객체에 책임을 요구한다.

- 메시지를 보내는 객체는 무엇을 할지만 요구하고, 어떻게 하는지는 신경쓰지 않아도 된다.

- 책임을 요구받은 객체는 자율적으로 처리한다.

  

자율성(의인화)

- 객체 지향에서는 객체가 자율적으로, 능동적으로 행동할 수 있다고 의인화하여야 한다.

- 자율적으로 메시지를 처리하기 위해서 자신의 책임을 수행하는 데 필요한 데이터와 프로세스를 가지고 있다.

  

다형성

- 객체 지향에서 다형성을 활용하는 목적은 서로 다른 유형의 객체가 동일한 메시지(같은 역할을 수행)에 대해 다르게 반응(메시지 처리 방법은 자율적)하게 하기 위해서이다.

  

책임 주도 개발

  • 시스템이 사용자에게 제공해야 하는 기능인 시스템 책임을 파악한다.
  • 시스템 책임을 더 작은 책임으로 분할한다.
  • 분할된 책임을 수행할 수 있는 적절한 객체 또는 역할을 찾아 책임을 할당한다.
  • 객체가 책임을 수행하는 도중 다른 객체의 도움이 필요한 경우 이를 책임질 적절한 객체 또는 역할을 찾는다.
  • 해당 객체 또는 역할에게 책임을 할당함으로써 두 객체가 협력하게 한다.