본문 바로가기

IT Study

[동영상 시청] OOP 객체지향 프로그래밍

반응형

참고동영상

https://www.youtube.com/watch?v=3etKkkna-f0


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

  • 프로그래밍 개발방법론
  • 사람이 현실을 바라보는 방법을 개발에 접목  (직관적 이해가 쉬움, 유지보수 용이) 

객체란 무엇인가? 

  • 객체는 현실의 무언가에 대응하는 개념이다. 
  • class는 객체를 표현하는 하나의 수단이다. (class != 객체) 
  • 다른 객체와 협력하는 역할을 맡고 있는 대상 
  • 역할을 맡으면 임무를 수행할 책임이 생긴다. 
  • 책임을 다하기 위한 데이터와 프로세스를 가지고 있다. 

협력이란? 

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

책임이란? 

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

역할이란? 

동일한 목적을 가진 책임의 묶음 

 

=> 이러한 역할과 책임을 가지고 협력하는걸 객체라고 할 수 있다. 

 

어떻게 하면 책임을 수행할 수 있는가? 

 

메시지

  • 객체는 메시지를 통해 다른 객체에 책임을 다하라고 요구한다. 
  • 메시지를 보내는 객체는 무엇을 할지만 요구하고, 어떻게 하는지는 신경쓰지 않아도 된다. 
  • 객체는 책임을 수행하라고 요구받지만, 어떻게 처리할 지는 자율에 맡긴다. 

자율성 (의인화) 

  • 객체지향에서는 객체가 자율적, 능동적으로 행동할 수 있다고 의인화 하여야한다. 
  • 자율적으로 메시지를 처리하기 위해서 자신의 책임을 수행하는 데 필요한 데이터와 프로세스를 가지고있다. 

다형성 

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

책임 주도 개발 (객체지향적 개발) 

1. 시스템이 사용자에게 제공해야 하는 기능인 시스템 책임을 파악한다. 

2. 세스템 책임을 더 작은 책임으로 분할한다. 

3. 분할된 책임을 수행할 수 있는 적절한 객체 또는 역할을 찾아 책임을 할당한다. 

4. 객체가 책임을 수행하는 도중 다른 객체의 도움이 필요한 경우 이를 책임질 적절한 객체 또는 역할을 찾는다. 

5. 해당 객체 또는 역할에게 책임을 할당함으로써 두 객체가 협력하게 된다. 

반응형