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

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

dnom님의 프로필 이미지
dnom

작성한 질문수

코딩으로 학습하는 GoF의 디자인 패턴

프로토타입 패턴 2부 - 패턴 적용하기

ModelMapper의 리플렉션에 관해 문의입니다.

작성

·

262

0

기선님 강의 잘 보고 있습니다.
[프로토타입 패턴 2부 - 패턴 적용하기] ModelMapper를 사용하다가 리플렉션에 관한 문의인데요. 제가 리플렉션에 대해 깊게 알지 못해 문의를 드리는거 일 수 있어서 양해 부탁드리겠습니다. ( _ _)
 
ModelMapper에서 리플렉션 진행 할 때 필드 네이밍이 일치하지 않아도 가져오는게 조금 신기해서 문의드립니다.
 
GithubRepository githubRepository = new GithubRepository();
githubRepository.setUser("dnom");
githubRepository.setName("live-study");

GithubIssue githubIssue = new GithubIssue(githubRepository);
githubIssue.setId(1);
githubIssue.setTitle("Issue : JVM Memory 부족");

ModelMapper modelMapper = new ModelMapper();
GithubIssueData githubIssueData = modelMapper.map(githubIssue, GithubIssueData.class);
 
public class GithubIssueData {

private int id;
private String title;
private String repositoryUser;
private String repositoryName;

... 생략
}
public class GithubIssue implements Cloneable{

private int id;
private String title;
private GithubRepository githubRepository;

... 생략
}
public class GithubRepository {

private String User;
private String Name;
... 생략
}
GithubIssue에서 githubRepository로 필드명을 지어두었음에도 불구하고
복사한 GithubIssueData의 repositoryUser, repositoryName 필드에 어떻게 매핑되어 값이 들어가게 되는 걸까요?
GithubIssueData의 필드명이 githubRepositoryUser, githubRepositoryName으로 정확히 지어야만 들어갈걸로 예상했거든요.
ModelMapper의 map 메소드를 파헤쳐보다가 모르겠어서 문의드립니다. ㅠ
 
 
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

답변 1

1

백기선님의 프로필 이미지
백기선
지식공유자

오.. 저도 저런게 되는지 몰랐습니다. 앞에 github이라는게 붙어있어도 된다면 뭔가 ModelMapper 쪽에서 공통적인 prefix를 무시하는 기능 같은데 있는게 아닐까 생각이 드네요.

dnom님의 프로필 이미지
dnom

작성한 질문수

질문하기