본문 바로가기
커뮤니티 피드 서비스 설계(with 객체 지향 프로그래밍)

객체지향 프로그래밍을 하는 이유

by danny-j 2024. 12. 9.

객체지향 프로그래밍을 하는 이유

  • 구조적 설계로 역할과 책임을 기반으로 안정적인 구조를 만들어줌
    • 재사용과 변경에 유연
    • 핵심은 작은 단위로 나누기

 

객체지향 설계란?

  • 자율성을 가진 객체들이 서로 협력하게 분할 시키는 설계
    • 객체끼리의 역할, 책임을 적절하게 나누고 협력을 하게 만든다
      • 역할(손님, 점원), 책임(주문, 커피만들기)
    • 객체는 혼자 있을 때에 전혀 의미가 없다
      • 서비스에 비즈니스 로직이 많이 들어가면 재사용과 변경에 유연하지 못함

 

객체의 구성 요소

  • 상태
    • 객체가 가진 상태
  • 행동(객체지향에서 중요한 역할)
    • 객체의 상태를 변경, 행동을 통해 다른 객체와 협업
  • 식별자
    • 각 객체를 구분할 수 있는 유니크한 값

 

객체 지향 설계의 첫 걸음 - 행동이 상태를 정의

  1. 객체 지향의 의의는 협력을 통한 목적 달성
  2. 객체의 구성 요소 중 행동을 기반으로 협력
  3. 즉, 객체 지향의 설계는 상태가 아닌 행동부터 정의

 

객체 지향 설계의 첫 걸음 - 책임 주도 설계

  • 행동을 정의하는 방법
    • 책임과 역할을 기반으로 먼저 정의
    • 유즈케이스를 이용해 책임 주도 설계를 진행

댓글