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

bs k님의 프로필 이미지
bs k

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

API

getter setter 질문 드립니다.

작성

·

234

1

static class Hello {
private String name2;

public String getName() {
return name2;
}

public void setName(String name2) {
this.name2 = name2;
}
}


이렇게 변수 이름을 name2로 바꿔줘도 json으로 바뀌면
키 값이 name인데 이유가 뭔가요? 그런데 get, set
메서드 이름에도 2(getName2, setName2)를 붙여주면
키 값이 name2로 잘 나옵니다 이렇게 동작하는 이유가
뭔가요?

답변 2

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 3대500거뜬히가능님

JSON으로 변경할 때 기본으로 필드를 참고하는 것이 아니라 자바빈 프로퍼티 방식 명명 방식을 사용합니다.

예를 들어서 getName(), setName()은 name이라는 이름의 프로퍼티 이름이 되는 것이지요.

관련해서 더 자세한 내용은 자바빈 프로퍼티로 검색해보시면 도움이 되실거에요.

감사합니다.

0

저도 어떻게 JsonConverter가 private를 읽는가 궁금해서 이래저래 해보니까

결과물인 Json의 변수명은 객체의 변수명이 아니라 getter의 메서드명을 따라가는 것을 보고 알았네요.

객체내의 변수를 직접 json으로 만드는게 아니라 메서드 getter를 통해 간접적으로 접근하는 그런 방식인거겠죠??

김영한님의 프로필 이미지
김영한
지식공유자

네 맞습니다^^

bs k님의 프로필 이미지
bs k

작성한 질문수

질문하기