-
10/26 TIL | 컴퓨터는 잘못 없고.. 잘못은 내가! (feat. Java Bean)📝 기록/매일의 기록 2022. 10. 26. 20:11
프론트 구현은 1시간 만에 했는데, 서버 구현이 계속 에러가 생겨서 완성에 이틀이나 걸렸다. 이건 내가 강의를 완벽하게 이해하지 못했다는 증거였고, 그래서 아예 강의 반복 과제를 다시 복기하는 식으로 이번 주 강의를 다시 이해하는 데에 공을 들였다..🥲
어제저녁에 생겼던 에러는 이거였는데 강의랑 다~~ 똑같이 따라 했고 심지어 파일이 3개? 밖에 만들어지지 않은 극!! 초반에 이런 에러가 생기니 대체 무슨 일인지 모르겠어서 한 1시간 붙잡고 있다가 이건 지금 당장 내 힘으로 되는 게 아니다 싶어서 빠르게 포기하고 잠을 잤다.
아침에 오자마자 동기들에게 SOS를 요청했고.. 이유는.......... 내가 PostDto의 getter 메서드에 get이라는 prefix를 제거해버렸기 때문이다.. 버릇처럼 getter 메서드에 get을 지웠는데 이거 때문에 Java Bean이 계속 FAIL_ON_EMPTY_BEANS 에러를 뱉어냈던 것이다...
이참에 Java Bean을 정리해보자.
Java Bean이란 엄격한 컨벤션을 지키는 특수 유형의 POJO(Plain Old Java Object)이다. POJO란 getter/setter를 가진 단순한 자바 오브젝트를 말한다. 특정한 정보를 가진 클래스를 표현하는 하나의 규칙, 데이터를 표현하기 위한 목적을 갖고 있다. 특징은 아래와 같다.
- 반드시 클래스는 패키지화되어야 한다.
- 필드는 getter와 setter를 가져야 한다.
- 외부 접근은 getter와 setter로 접근한다.
- 멤버 변수는 프로퍼티(property)라고 부른다.
- 프로퍼티의 접근 제한자는 private이어야 한다.
- 직렬화 인터페이스를 구현해야 한다.
- 직렬화를 위해 인수가 없는 생성자가 있어야 한다.
- 프로퍼티가 boolean이면 get이 아니라 is 사용해도 된다.이렇게 정리하고 보니 요 며칠 마주했던 에러들의 대부분이다..... 제발 사용 전에 개념을 제대로 숙지하고 쓰자!!! ^^;
'📝 기록 > 매일의 기록' 카테고리의 다른 글
10/29 TIL | 인증(Authentication)과 인가(Authorization) (0) 2022.10.29 10/27 TIL | 문서화는 나의 힘! Github Issue Template을 활용하여 문서 손쉽게 작성하기. (0) 2022.10.27 10/25 TIL | 코테 여러 번 풀기? 에러 발생? 오히려 좋아! (0) 2022.10.25 10/24 TIL | 에러 메시지를 제대로 읽자! (1) 2022.10.24 10/23 TIL | 좋은 구조를 위한 끊임 없는 고민. (0) 2022.10.23