안녕하세요. 666번째 글입니다. 이번 시간에는 reflection을 이용해서 field value를 set하는 코드만 간략하게 보겠습니다. 먼저, data 클래스의 코드는 요렇습니다. private field로 선언된 x, y, 그리고 hm이 있네요. 당연하게도, hashCode와 equals, 그리고 toString은 오버라이딩 되어 있습니다. 우리는 먼저, 이름으로 Field에 대한 정보를 얻어온 다음에, 10번째 줄에서 set 메서드를 이용해서, 객체 d의 hm 필드의 값을 {"a":"b", "c":"d"}로 바꿀 것인데요. NoSuchFieldException이 뜹니다. 왜 그런지 메서드 설명을 봐야 겠어요. 먼저, 이 친구는 public member인 field member를 리턴합니다. Da..
reflection 검색 결과
해당 글 2건
java reflection으로 field 값을 set 하는 방법을 알아봅시다.
코딩/Java
2022. 3. 14. 04:05
java reflection을 이용해서 field value에 대한 정보를 get 하는 방법을 알아봅시다.
저번 시간에 transient를 보다가, 잠깐 reflection에 대해서 언급했었는데요. 아마 언급을 하지 않았더라도, 클래스의 메타 데이터에 대한 정보를 얻어온다. 라는 것은 언급했을 듯 합니다. 내부를 보실 때, 이해하셨다면 좋았을 법한 로직만 간단하게 소개해 볼게요. 먼저, 객체를 직렬화 하기 위해서, 필드와 필드에 셋팅된 값이 어떤 값이였는지 알아야 했습니다. 그러한 정보들을 얻어와서 직렬화를 시킨다고 했어요. 그런데, transient 같은 키워드가 앞에 붙어있으면 직렬화를 하지 말아야 함을 의미해요. 즉, 필드 중에서 직렬화를 하지 말아야 하는 키워드가 앞에 붙어있는지도 알아내야 합니다. 즉, 객체에 대한 정보를 얻어올 때, 이 필드가 직렬화가 가능한 친구인지, 할당된 값은 무엇인지. 필드 ..
코딩/Java
2022. 3. 11. 20:37
최근댓글