SlideShare a Scribd company logo
1 of 19
Download to read offline
Chapter 3
Covenant Ko
11
- Name. Covenant Ko
- Company. 11번가
- Github 용감한친구들 Organization Founder & Maintainer. https://github.com/brave-people
- Github. https://github.com/KoEonYack
- Tech Blog. https://covenant.tistory.com/ (누적 방문 41만)
Ch 0.
Ch 1. ,
Ch 2.
Ch 3. ,
Ch 0.
Ch 1. ,
Ch 2.
Ch 3. ,
Ch 0.
Ch 1. ,
Ch 2.
Ch 3. ,
Problem. . . . .
Solution. , ,
Ch 0.
Ch 1. ,
Ch 2.
Ch 3. ,
객체지향 프로그램을 작성하는 방법 좋은 설계란 무엇인가 설명
Ch3가 책의 주제를 관통
1. .
2. .
3. .
상태를 먼저 결정하고 행동을 나중에 결정하면?
65p
1. .
2. .
3. .
상태를 먼저 결정하고 행동을 나중에 결정하면?
Responsibility
Driven
Design
협력이라는 문맥안에서의 객체의 행동을 생각
응집도 높으며 재사용 가능한 객체
A B C
=
A B C
=
A B C
=
A B C
=
Think Back
1. ? ?
2. wiki . (X) .
3. Screening class에서 Reservation 인터페이스를 구현
https://youtu.be/Qa3dRrSbeQI 16:00
, ,
A B C
=
1.
2.
3.
4. (what) (how)
.
33p
인터페이스를 통한 동적바인딩
private를 통한 접근제어, 상태 접근 불가
메서드를 통한 메시지 전달
인터페이스의 메소드를 통해 책임을 봄
A B C
=
A B C
=
| | |
-
-
A B C
=
A B C
=
| | |
= =
| | |
-
- ( )
-
= =
| | |
-
- ,
- ( ) ‒
- ( ) ‒
= =
( )
=
| | |
28p
1. .
2.
3. .
4. .
인터페이스를 구현하면 됨
아빠의 역할이 필요하면 아빠 인터패이스 구현한 객체
메서드 구현은 자유
인터페이스 여러 개 구현
Chapter 3
Covenant Ko

More Related Content

More from Covenant Ko

JPA 스터디 Week2 - Object Relational Mapping
JPA 스터디 Week2 - Object Relational MappingJPA 스터디 Week2 - Object Relational Mapping
JPA 스터디 Week2 - Object Relational MappingCovenant Ko
 
JPA 스터디 Week1 - 하이버네이트, 캐시
JPA 스터디 Week1 - 하이버네이트, 캐시JPA 스터디 Week1 - 하이버네이트, 캐시
JPA 스터디 Week1 - 하이버네이트, 캐시Covenant Ko
 
떠먹는 '오브젝트' Ch07 객체 분해
떠먹는 '오브젝트' Ch07 객체 분해떠먹는 '오브젝트' Ch07 객체 분해
떠먹는 '오브젝트' Ch07 객체 분해Covenant Ko
 
떠먹는 '오브젝트' Ch05 책임 할당하기
떠먹는 '오브젝트' Ch05 책임 할당하기떠먹는 '오브젝트' Ch05 책임 할당하기
떠먹는 '오브젝트' Ch05 책임 할당하기Covenant Ko
 
[로켓 자바] Part 1 성능 튜닝 마인드 확립
[로켓 자바] Part 1 성능 튜닝 마인드 확립[로켓 자바] Part 1 성능 튜닝 마인드 확립
[로켓 자바] Part 1 성능 튜닝 마인드 확립Covenant Ko
 
떠먹는 '오브젝트' Ch04 설계 품질과 트레이드오프
떠먹는 '오브젝트' Ch04 설계 품질과 트레이드오프떠먹는 '오브젝트' Ch04 설계 품질과 트레이드오프
떠먹는 '오브젝트' Ch04 설계 품질과 트레이드오프Covenant Ko
 
Week7 bean life cycle
Week7 bean life cycleWeek7 bean life cycle
Week7 bean life cycleCovenant Ko
 
떠먹는 '오브젝트' Ch02 객체지향 프로그래밍
떠먹는 '오브젝트' Ch02 객체지향 프로그래밍떠먹는 '오브젝트' Ch02 객체지향 프로그래밍
떠먹는 '오브젝트' Ch02 객체지향 프로그래밍Covenant Ko
 
Week6 autowired beanlifecycle
Week6 autowired beanlifecycleWeek6 autowired beanlifecycle
Week6 autowired beanlifecycleCovenant Ko
 
Week5 컴포넌트 스캔
Week5 컴포넌트 스캔Week5 컴포넌트 스캔
Week5 컴포넌트 스캔Covenant Ko
 
Week4 빈은 전설이다. (싱글톤 빈, CGlib)
Week4 빈은 전설이다. (싱글톤 빈, CGlib)Week4 빈은 전설이다. (싱글톤 빈, CGlib)
Week4 빈은 전설이다. (싱글톤 빈, CGlib)Covenant Ko
 
Week3 아주 작은 빈 이야기 2
Week3 아주 작은 빈 이야기 2Week3 아주 작은 빈 이야기 2
Week3 아주 작은 빈 이야기 2Covenant Ko
 
Week2 아주 작은 빈 이야기
Week2 아주 작은 빈 이야기Week2 아주 작은 빈 이야기
Week2 아주 작은 빈 이야기Covenant Ko
 
Week1 스프링이 사랑한 SOLID
Week1 스프링이 사랑한 SOLIDWeek1 스프링이 사랑한 SOLID
Week1 스프링이 사랑한 SOLIDCovenant Ko
 

More from Covenant Ko (14)

JPA 스터디 Week2 - Object Relational Mapping
JPA 스터디 Week2 - Object Relational MappingJPA 스터디 Week2 - Object Relational Mapping
JPA 스터디 Week2 - Object Relational Mapping
 
JPA 스터디 Week1 - 하이버네이트, 캐시
JPA 스터디 Week1 - 하이버네이트, 캐시JPA 스터디 Week1 - 하이버네이트, 캐시
JPA 스터디 Week1 - 하이버네이트, 캐시
 
떠먹는 '오브젝트' Ch07 객체 분해
떠먹는 '오브젝트' Ch07 객체 분해떠먹는 '오브젝트' Ch07 객체 분해
떠먹는 '오브젝트' Ch07 객체 분해
 
떠먹는 '오브젝트' Ch05 책임 할당하기
떠먹는 '오브젝트' Ch05 책임 할당하기떠먹는 '오브젝트' Ch05 책임 할당하기
떠먹는 '오브젝트' Ch05 책임 할당하기
 
[로켓 자바] Part 1 성능 튜닝 마인드 확립
[로켓 자바] Part 1 성능 튜닝 마인드 확립[로켓 자바] Part 1 성능 튜닝 마인드 확립
[로켓 자바] Part 1 성능 튜닝 마인드 확립
 
떠먹는 '오브젝트' Ch04 설계 품질과 트레이드오프
떠먹는 '오브젝트' Ch04 설계 품질과 트레이드오프떠먹는 '오브젝트' Ch04 설계 품질과 트레이드오프
떠먹는 '오브젝트' Ch04 설계 품질과 트레이드오프
 
Week7 bean life cycle
Week7 bean life cycleWeek7 bean life cycle
Week7 bean life cycle
 
떠먹는 '오브젝트' Ch02 객체지향 프로그래밍
떠먹는 '오브젝트' Ch02 객체지향 프로그래밍떠먹는 '오브젝트' Ch02 객체지향 프로그래밍
떠먹는 '오브젝트' Ch02 객체지향 프로그래밍
 
Week6 autowired beanlifecycle
Week6 autowired beanlifecycleWeek6 autowired beanlifecycle
Week6 autowired beanlifecycle
 
Week5 컴포넌트 스캔
Week5 컴포넌트 스캔Week5 컴포넌트 스캔
Week5 컴포넌트 스캔
 
Week4 빈은 전설이다. (싱글톤 빈, CGlib)
Week4 빈은 전설이다. (싱글톤 빈, CGlib)Week4 빈은 전설이다. (싱글톤 빈, CGlib)
Week4 빈은 전설이다. (싱글톤 빈, CGlib)
 
Week3 아주 작은 빈 이야기 2
Week3 아주 작은 빈 이야기 2Week3 아주 작은 빈 이야기 2
Week3 아주 작은 빈 이야기 2
 
Week2 아주 작은 빈 이야기
Week2 아주 작은 빈 이야기Week2 아주 작은 빈 이야기
Week2 아주 작은 빈 이야기
 
Week1 스프링이 사랑한 SOLID
Week1 스프링이 사랑한 SOLIDWeek1 스프링이 사랑한 SOLID
Week1 스프링이 사랑한 SOLID
 

떠먹는 '오브젝트' Ch03 역할, 책임, 협력

  • 2. - Name. Covenant Ko - Company. 11번가 - Github 용감한친구들 Organization Founder & Maintainer. https://github.com/brave-people - Github. https://github.com/KoEonYack - Tech Blog. https://covenant.tistory.com/ (누적 방문 41만)
  • 3. Ch 0. Ch 1. , Ch 2. Ch 3. ,
  • 4. Ch 0. Ch 1. , Ch 2. Ch 3. ,
  • 5. Ch 0. Ch 1. , Ch 2. Ch 3. , Problem. . . . . Solution. , ,
  • 6. Ch 0. Ch 1. , Ch 2. Ch 3. , 객체지향 프로그램을 작성하는 방법 좋은 설계란 무엇인가 설명 Ch3가 책의 주제를 관통
  • 7. 1. . 2. . 3. . 상태를 먼저 결정하고 행동을 나중에 결정하면? 65p
  • 8. 1. . 2. . 3. . 상태를 먼저 결정하고 행동을 나중에 결정하면? Responsibility Driven Design 협력이라는 문맥안에서의 객체의 행동을 생각 응집도 높으며 재사용 가능한 객체
  • 9. A B C = A B C =
  • 10. A B C = A B C =
  • 11. Think Back 1. ? ? 2. wiki . (X) . 3. Screening class에서 Reservation 인터페이스를 구현 https://youtu.be/Qa3dRrSbeQI 16:00 , ,
  • 12. A B C = 1. 2. 3. 4. (what) (how) . 33p 인터페이스를 통한 동적바인딩 private를 통한 접근제어, 상태 접근 불가 메서드를 통한 메시지 전달 인터페이스의 메소드를 통해 책임을 봄
  • 13. A B C = A B C = | | | - -
  • 14. A B C = A B C = | | |
  • 15. = = | | | - - ( ) -
  • 16. = = | | | - - , - ( ) ‒ - ( ) ‒
  • 18. = | | | 28p 1. . 2. 3. . 4. . 인터페이스를 구현하면 됨 아빠의 역할이 필요하면 아빠 인터패이스 구현한 객체 메서드 구현은 자유 인터페이스 여러 개 구현