• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

item.getOpen()이 안되는 경우

21.06.30 15:30 작성 조회수 413

31

혹시 저와 같은 문제를 겪으실 분들을 위해 제가 잠깐동안 삽질한 경험을 남깁니다.

강의를 쭉 듣던 도중에 로그를 찍는데 item.getOpen()이 안되는 상황을 겪었습니다.

그런데 item.setOpen()은 됐거든요.

찾아보니까 문제는 Item 클래스에서 open을 primitive타입인 boolean으로 선언했기 때문이었습니다.

롬복으로 게터세터를 적용할 경우 primitive boolean의 게터명명규칙이 getSomething이 아니라 isSomething입니다. 

따라서 item.isOpen()을 입력해야 에러가 없습니다.

그럼 어떻게 영한님은 isOpen이 아니라 getOpen이 되었는가?

다시 잘 살펴보니 boolean이 아니라 참조형인 Boolean을 사용하셨습니다....ㅜ

null값 때문인 것 같습니다.

참조형이니까 롬복이 getOpen을 생성합니다.

생각없이 따라치다가 이런 일을 겪네요.

집중해서 열심히 듣겠습니다.

혹시 이 글을 보게된 여러분 화이팅..

답변 6

·

답변을 작성해보세요.

2

oooo4124님의 프로필

oooo4124

2021.07.01

와 저도 같은경우라서 갸우뚱하고 질문 살펴본건데 ㅋㅋㅋㅋ 감사합니다.

2

공유 감사합니다^^

2

OMG님의 프로필

OMG

2021.06.30

학습하다 발생했던 문제 상황 공유 감사합니다~!

1

deepsj1012님의 프로필

deepsj1012

2023.04.26

자세히 설명해주셔서 감사합니다. 도움 되었습니다 :)

0

노뚜님의 프로필

노뚜

2024.01.18

감사합니다!

private boolean open;

으로 정의해두고

 

log.info("item.open={}",item.isOpen());

영상처럼 .getOpen()이 안돼서
.isOpen()으로 했더니

 

item.open=false

false로 log 출력돼서

 

private Boolean open;

이 글 보고 변경했더니

 

log.info("item.open={}",item.getOpen());

.getOpen()도 되고

item.open=null

강의와 똑같이 null로 출력되네요 👍👍

0

mangs님의 프로필

mangs

2023.09.02

ㅆㅅㅌㅊ..!!