반응형 getter2 [Error] getId 관련 StackOverflowError JPA를 사용하면서 Persist 를 상속받아서 Entity Class를 하나 만들었다. getId 메서드를 오버라이드 받으며 만들었고, boot 를 run 띄우니 StackOverflowError 에러가 발생하였다. overflow 를 보자마자 재귀 호출이 의심이 되었고, entity 를 보니 private String id; 라는 항목이 존재하였다. 그리고 아래에 .. .. private Long getId() { return this.getId(); } 가 있었다. 실수이긴 하지만 재귀 호출을 하고있었다. .. .. private Long getId() { return id(); } getter 사용시 주의하도록 하자. 2024. 2. 1. @Data annotation 과 getter 의 관계(23.05.24) 자바에서 Dto를 사용하게 될 경우 lombok 에서 제공하는 Data annotation을 많이 사용하곤 한다. 예전 개발자 들이라면 getter / setter 를 구현하기 위해서는 직접 코드에 메서드를 작성해야했다. 현재는 Data annotation 안에 있는 @Getter / @Setter 가 이 기능을 편리하고 빠르게 대체해준다. 하지만 기본적으로 getter / setter annotation은 return 이 단순 return이고 값을 가공하기 위해서는 별도의 메서드를 지정해줘야한다. 물론 코드에 녹여낼수도 있지만, return 값이 null일때는 "" 을 내뱉어주고 싶을때는 아래와 같이 getter 메서드를 명시할수 있다. public String getId() { return id==n.. 2023. 5. 25. 이전 1 다음 반응형