인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

highjune님의 프로필 이미지
highjune

작성한 질문수

Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트

마지막 리팩토링

UserEntity 메서드

작성

·

91

0

좋은 강의 감사합니다.

 

UserEntity 클래스에 있는 from 메서드는 static, toModel 메서드는 그렇지 않습니다.

 

둘의 차이와 from 메서드를 static 으로 설정한 이유가 있을까요?

답변 2

1

강의를 다시 천천히 보시면 알 수 있을 거 같은 내용입니다만 힌트를 드리자면

user domain은 user entity를 모르는 것이 좋은 domain 설계이다

한번 고민해보시죠

highjune님의 프로필 이미지
highjune
질문자

감사합니다~!

0

ㅎㅎ 윗분이 잘 말씀해 주셨는데, static 키워드에 대한 단순 언어적 관점에서도 말씀드려보자면...

먼저 아래 이유때문에 두개의 메서드가 User가 아닌 UserEntity에 들어가게 되었고요.

user domain은 user entity를 모르는 것이 좋은 domain 설계이다

from()UserEntity타입의 실제 객체(인스턴스)가 만들어지지 않은 상태에서 호출해야 하기에 static 키워드가 필요한거고요.

toModel()UserEntity 인스턴스가 만들어진 상태에서 참조변수를 통해 newUserEntity.toModel()과 같이 호출할 수 있기 때문에 static일 필요가 없죠..

 

물론 UserEntity.toModel(newUserEntity) 와 같이 static으로 할수도 있겠지만 특별한 이유가 없다면 더 자연스러운 쪽은 앞쪽에 가깝지 않나 생각이 들어요

 

highjune님의 프로필 이미지
highjune

작성한 질문수

질문하기