getter 질문드립니다
안녕하세요!
예시에서 person.get지갑().get신분증().findAge() >= 19
를 person.isAgeGreaterThanOrEqualTo(19) 메서드로 만들면
person 내부에서 다시 지갑.get신분증().findAge() 형태가 되는데, 이 경우 지갑.isAge..(19) 같은 메서드를 계속 만드는지 끊어내는 기준이 있는지 궁금합니다.
답변 1
1
안녕하세요, 김연준 님!
좋은 질문이네요 👍
저는 그 경우에도 마찬가지로, 그 내부에서 객체 간의 역할과 책임을 한번 더 고민해 봅니다.
지갑.get신분증().findAge() 가 자연스러운지, 아니면 지갑에게 다시 질문하여 지갑.isAge..(19) 가 더 자연스러운지 Person 객체와 지갑 객체 사이에서 한번 더 고민해 보는거죠.
(이 예시에서는 지갑에게 다시 메시지를 보내 물어보는 후자가 더 좋지 않을까 싶네요 ㅎㅎ)
한번 더 들어가면 지갑과 신분증 사이에서 또 같은 고민을 해볼 수 있겠네요.
이렇게 계속 타고타고 들어가다가, 어느 순간 메시지를 보내지 않고 직접 꺼내도 되겠는데? 하는 순간이 오기도 합니다.
정리하면, 레이어마다 각 객체의 책임을 고려하여 결정하시면 됩니다.
도움이 되셨기를 바랍니다.
감사합니다 🙂
[강의 질문] 메서드 선언부
0
90
1
[강의 질문] 메서드와 추상화
0
61
2
DIP 개념에 대한 질문입니다.
0
64
1
만약 보드를 이용한 게임의 종류가 더 다양해진다면 어떻게 될 수 있을지에 대한 고민
0
86
2
DIP 설명 후반부에 IOC에 대한 질문 드립니다.
0
80
2
안녕하세요 ! 혹시 자바가 아닌 다른 객체지향 언어를 알고있어도 강의를 들어도 괜찮을까요 ?!
0
71
1
안녕하세요 메서드명 때문에 고민이 있어서 질문드립니다.
1
64
2
자바 record 사용에 대해서 질문 드립니다!
0
128
2
강의 내용 정리 및 자료 제작 툴 문의 드립니다.
0
136
2
사용할 변수 가깝게 선언하기 질문
0
93
1
오버 엔지니어링
0
151
2
학습용 java/spring 오픈소스 추천
1
368
2
중복된 메서드 줄이는 방법
0
185
2
MarketPlace에서 Sonarlint 검색이 안됩니다.
0
417
3
isLandMineCell() 메서드 질문
0
210
1
Cell[][]BOARD 매개변수받기
0
153
2
ConsoleInputHandler에서 왜 final붙여야 하는지
0
194
1
정적 생성자 메서드 of, from
0
266
2
Getter관해서
0
148
3
이름 바꾸기
0
129
2
stack 대신 queue 를 사용해 bfs 로 변경해도 되나요??
0
164
2
현업에서 ISP를 도입하려는데 인터페이스 설계에 있어서 의문이 있습니다.
0
209
2
null을 가질 수 있는 값을 인자로 넘겨야 하는 경우
0
253
3
리팩토링을 하고 난 뒤 다시보면 오히려 더 복잡해 보이는것 같은 느낌입니다..
0
255
2





