[영상후기] [10분 테코톡] 🍟 웨지의 OOP

박철현·2023년 3월 24일
0

영상후기

목록 보기
55/160

movie

  • 객체지향프로그래밍
    -> 프로그래밍 개발방법론
    -> 사람이 직관적으로 이해하기 쉽고 유연하면서 변경이 용이하게 만드는 개발 방법론

  • 객체 : 현실의 무언가에 대응하는 개념
    --> class는 객체를 표현하는 하나의 수단
    --> 다른 객체와 협력하는 역할을 맡고 있는 대상-> 역할을 맡으면 책임이 생긴다. (책임을 다하기 위해 데이터와 프로세스를 가지고 있음)
    --> 능동적이고 자율적인 존재

  • 협력, 책임, 역할
    1) 협력 : 시스템 목표를 달성하기 위해 여러 객체가 참여하여 행동
    2) 책임 : 협력 속에서 본인이 수행해야 할 임무의 내용을 알고 수행하는 것
    3) 역할 : 동일한 목적을 가진 책임의 묶음

  • 다형성 : 활용하는 목적이 서로 다른 유형의 객체가 동일한 메시지에 대해 다르게 반응하게 하기 위한 성질 (자율성)

  • 빠지기 쉬운 함정 : 현실 세계를 반영하기 위한 설계를 시작하면 자칫 데이터 중심의 설계를 하기 쉽다.
    문제점 1) getter, setter가 과도하게 추가되어 결합도가 높아진다(서로 알고 있는 객체가 많아진다.)
    -> 결합도가 높아졌을때는? 하나의 변경이 일어났을때 다수의 수정 필요(유지보수 떨어짐)
    문제점 2) 데이터를 처리하는 작업과 데이터가 분리되어 응집도가 낮아진다
    -> 하나의 일을 여러 객체가 같이 함 -> 변경되야 할 일이 많아짐

  • 책임 주도 개발(객체 지향적 설계 방법)
    1) 시스템이 사용자에게 제공해야 하는 기능인 시스템 책임을 파악한다.
    2) 시스템 책임은 더 작은 책임으로 분할한다.
    3) 분할된 책임을 수행할 수 있는 적절한 객체 또는 역할을 찾아 책임을 담당
    4) 객체가 책임을 수행하는 도중 다른 객체의 도움이 필요한 경우 이를 책임질 적절한 객체 또는 역할을 찾는다.
    5) 해당 객체 또는 역할에게 책임을 할당함으로써 두 객체가 협력하게 한다.

profile
비슷한 어려움을 겪는 누군가에게 도움이 되길

0개의 댓글

관련 채용 정보