kkkkkkkkkkkk
kkkkk
kkkkkkkkkkkk
전체 방문자
오늘
어제
  • 분류 전체보기
    • CS & OS
    • Algorithms
    • Laguage
    • Book
      • 객체지향의 사실과 오해
      • Effective Java
      • Spring boot 와 AWS로 혼자 구현하는 ..
      • 도메인 주도 계발 시작하기
    • DB
    • Spring
    • Spring Boot
    • JPA
    • Git
    • Clean Code
    • HTTP

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 응집도
  • 객체지향 프로그래밍
  • 결합도
  • 책임
  • 설계 원칙
  • 역할

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
kkkkkkkkkkkk

kkkkk

Book/객체지향의 사실과 오해

[Book] 되새김질

2022. 2. 22. 23:02

'객체지향 프로그램' 이란 무엇일까?

실세계를 모방하여 추상화와 은유 기반으로 새로운 세계를 창조한 프로그램이다.

공동의 목표 즉, 서비스를 달성하기 위해 책임과 역할 협력을 적절히 사용한 프로그램이다.

 

'자율성' 을 가진 객체는 우수 객체가 된다.

다른 객체가 직접적으로 접근하여 컨트롤 하는 것 보다 책임을 부여하고 자신이 처리하는 것이 바람직한 프로그램이다.

어떻게 수행하는지는 알 필요가 없다. 단지 무엇을 수행하는지만 아는것이 중요하다.

과정보다 결과를 중요시하는 것처럼..

 

'책임 주도 설계' 중요하다!

행동을 먼저 고민하고 상태를 고민하라!.

회원 정보를 '저장하는 행동' 을 고려해본 다음 정보를 저장하는데 '무엇' 을 저장해야하는가? 를 고민하게 된다.

 

행동을 결정하게 하는 것은 협력이다!

협력이란 요청과 응답 즉, '메시지' 를 보내면 잘 대응해주는 것이다. 이것이 잘 수행 되면 책임과 역할도 같이 잘 수행 된다.

 

'표현적 차이' 를 줄이자!

실제 사물이나 개념을 추상화하여 객체를 생성하면 표현적 차이가 있을 것이다.

예를 들어 음료라는 객체는 자신의 용량을 자기가 계산을 해야하는 행동이 있을 것이다. 이 행동은 실세계에서 표현하지 않는 것이다.

하지만 은유와 의인화를 통해서 이 표현적 차이를 줄여보자.

 

'추상화' 란 무엇일까?

특정 부분을 생략하여 감춤으로써 복잡도를 극복하고 단순화를 시킨 것이다.

 

'타입 & 개념' 이란 무엇일까?

일반화한 것이라고 말할 수 있다.

예를 들어 의자는 가구이다. 치킨은 튀김이다.

 

'분류' 란 무엇일까?

개념을 적용하여 분리를 한 것이다.

분리수거를 생각해보면 플라스틱과 캔, 종이, 일반쓰레기를 분류해서 버린다.

 

'클래스' 는 타입이 아니다!

클래스는 타입이 아니다. 타입을 구현한 것이 클래스이다.

 

'튼튼한 기초가 계획이 변경 되어도 대응을 할 수가 있다!'

안정적인 구조로 설계한 도메인이 불안정한 기능을 담아도 유연하게 대응을 할 수 있다.

 

'설계 순서 개념, 명세, 구현'

개념 : 도메인의 규칙과 제약조건을 설계

명세 : 책임을 초점으로 설계

구현 : '어떻게' 수행하는지 설계

'Book > 객체지향의 사실과 오해' 카테고리의 다른 글

[Book] 3장) 타입과 추상화  (0) 2022.02.16
[Book] 1장) 협력하는 객체  (0) 2022.02.16
[Book] 7장) 함께 모으기  (0) 2022.02.15
[Book] 6장) 객체 지도  (0) 2022.02.13
[Book] 5장) 책임과 메시지  (0) 2022.02.12
[Book] 4장) 역할, 책임, 협력  (0) 2022.02.09
[Book] 2장) 이상한 나라의 객체  (0) 2022.02.07
    'Book/객체지향의 사실과 오해' 카테고리의 다른 글
    • [Book] 3장) 타입과 추상화
    • [Book] 1장) 협력하는 객체
    • [Book] 7장) 함께 모으기
    • [Book] 6장) 객체 지도
    kkkkkkkkkkkk
    kkkkkkkkkkkk

    티스토리툴바