Study

OOP(객체지향 프로그래밍) (2)

Clearing 2022. 7. 11. 19:07
728x90

이 영상에서의 발표자는 객체지향 프로그래밍이란 프로그래밍 개발 방법론 중 하나로,

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

만들어주는 프로그래밍 방법론이라고 말한다.

객체지향을 이해하기 위해선 객체를 먼저 파악하는 것이 좋으며, 객체란 현실의 무언가에

대응하는 개념으로 클래스는 객체를 생성하기 위한 것이기도 하지만 객체를 표현하는

하나의 수단이라고도 할 수 있다.

 

객체가 객체답게 작동하기 위해서는 객체지향적인 개념이 필요하다.

객체는 다른 객체와 협력하는 역할을 맡으면 임무를 수행할 책임이 생기며,

책임을 다하기 위한 데이터와 프로세스를 가지고 있다고 할 수 있다.

 

협력과 책임, 역할을 다음과 같이 정의한다.

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

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

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

 

객체가 책임을 수행하기 위해 객체는 메시지를 통해서  다른 객체에게 책임을 다하라고 요구하며

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

또한, 객체는 책임을 수행하라고 요구받지만 어떻게 처리할지는 자율에 맡긴다.

자율성이란 객체가 자율적이고 능동적으로 행동할 수 있다고 의인화하여야 한다.

 

객체가 자율적으로 행동하는 것을 잘 나타내 주는 것이 다형성으로 이를 활용하는 목적은

서로 다른 유형의 객체가 동일한 메시지에 대해 다르게 반응하기 위해서이다.

동일한 메시지를 처리하는 것은 같은 역할을 수행하는 것이지만 다르게 반응하는 것은

메시지의 처리방법은 자율적인 것을 나타낸다.

 

정리하자면 객체는 현실의 개념을 추상화한 것으로 객체들은 서로 협력하고,

역할을 맡아 책임을 다하여 문제 상황을 해결한다.

하지만 현실의 사물과 달리 객체는 능동적이고 자율적인 존재라고 할 수 있다.

 

 

출처)

https://www.youtube.com/watch?v=3etKkkna-f0&t=787s 

 

728x90

'Study' 카테고리의 다른 글

웹 접근성과 표준  (0) 2022.07.24
정규 표현식  (0) 2022.07.24
제네릭(Generics)  (0) 2022.07.10
애자일 소프트웨어 개발(Agile Software Development)  (0) 2022.07.09
시스템 설계와 프로그램 구현  (0) 2022.07.08