Computer Science/Object Oriented Programming 2024. 8. 19. 02:11

[OOP] getter만 포함된 인터페이스를 생성해도 되는가?

목차
  1. 요약
  2. 사용 사례
  3. 주의점 (의견)

요약

그렇다.

  • getter도 메소드이기 때문이다
  • 응용하면 getter 메소드는 유지하면서 구현 클래스에서 멤버 값을 그대로 보내는 대신, 기존의 멤버로 계산된 값을 리턴하게 구현할 수 있다.

사용 사례

Java List의 `.size()`

주의점 (의견)

그래도 인터페이스는 공유해야할 행동을 정의하는 것이 더 좋기 때문에 interface에 멤버 값을 반환하는 getter를 남용하는 것은 지양하는 게 좋을 것 같다. 정말 그 기능을 구현하는 클래스가 공통적으로 특정 값을 반환할 필요가 있을 때만 선언하는 것이 좋을 것 같다. callee가 호출할 수 있도록.

사실 찾아본 목적은 DTO에서 특정 필드를 재사용하기 위해서였다. 이 경우, Spring framework은 사실 getter와 setter라는 public 메소드에만 의존하니 추가해도 좋을 것 같다.

 

https://stackoverflow.com/questions/1130294/java-interface-usage-guidelines-are-getters-and-setters-in-an-interface-bad

 

Java Interface Usage Guidelines -- Are getters and setters in an interface bad?

What do people think of the best guidelines to use in an interface? What should and shouldn't go into an interface? I've heard people say that, as a general rule, an interface must only define be...

stackoverflow.com

https://softwareengineering.stackexchange.com/questions/370605/use-getter-interfaces-as-a-way-to-reuse-dto-fields

 

Use getter interfaces as a way to reuse DTO fields

Assume I have a lot of DTO for a same domain model like this: class User{} //DTO @Value.Immutable interface SimpleUserDTO { getName getAge } @Value.Immutable interface RegisterUser...

softwareengineering.stackexchange.com

 

저작자표시 (새창열림)

'Computer Science > Object Oriented Programming' 카테고리의 다른 글

[OOP] 순환 참조 (Circular reference) - 문제점, 해결법 (설계 관점)  (0) 2024.08.30
[OOP] Factory  (0) 2024.04.09
  1. 요약
  2. 사용 사례
  3. 주의점 (의견)
'Computer Science/Object Oriented Programming' 카테고리의 다른 글
  • [OOP] 순환 참조 (Circular reference) - 문제점, 해결법 (설계 관점)
  • [OOP] Factory
개발자 이우진
이우진 기술 블로그
  • All (86)
    • Spring Framework (20)
    • MSA (7)
      • Event Driven Architecture (3)
    • Java (3)
    • Flink (2)
    • Computer Science (9)
      • Object Oriented Programming (3)
    • Problem Solving (15)
    • Design Pattern (0)
    • React (4)
    • Javascript (2)
    • Web (3)
    • Tools & Environment (3)
    • C++ (2)
    • misc (5)
    • Essay (3)
      • 기술 회고 (5)
  • 홈
  • 태그
  • 관리자
  • 글쓰기
hELLO · Designed By 정상우.v4.2.2
[OOP] getter만 포함된 인터페이스를 생성해도 되는가?
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.