해결된 질문
작성
·
177
1
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
안녕하세요
'getItem' 함수가 'setDelivery' 메소드처럼 사용자가 직접 만든 메소드가 아닌데 그러면 스프링 자체에 내장되어 있는 함수인가요? 아니면 어떤 라이브러리를 추가했기 때문에 사용이 가능한 것 인가요?
1번 질문과 별개로, getItem()을 하면 어떻게 Item에 대한 정보를 가져오나요? 마찬가지로 getStatus()또한 컨트롤좌클릭해서 경로를 따라가니
private DeliveryStatus status;로 이동이 되더라구요. 대소문자 차이도 있는데 어떤 원리로 연결이 되고 함수가 자동적으로 생성이 되어있는지 궁금합니다!
답변 1
0
안녕하세요. 오현우님, 공식 서포터즈 OMG입니다.
build.gradle에 Lombok을 추가하고, 롬복 플러그인을 설치하면(인텔리제이 기본 내장되어있음)
@Getter와 @Setter 어노테이션만으로 get+멤버변수이름, set+멤버변수이름의 getter setter를 자동으로 생성해줍니다.
참고로 롬복의 @Data를 사용하면 @Getter, @Setter 등 다양한 롬복 어노테이션이 포함되어 있어 코드를 생성하지 않고도 getter, setter, (재정의된)toString 등을 사용할 수 있습니다.
get/set + 첫글자는 대문자로 멤버변수의 이름
은 일종의 약속입니다. 이 약속을 자바 빈 규약이라고 하는데요. 일종의 약속을 통해서 개발자간 일관된 명칭으로 데이터를 조회하고 세팅하는 메서드를 개발할 수 있게 해줍니다. 롬복이 이 규칙을 통해 getter와 setter를 생성한 것입니다.
자바 빈 규약 관련하여 아래 링크를 참고해주세요.(getter/setter는 4,5번)
https://dololak.tistory.com/133
감사합니다.
답글 달아주셔서 감사합니다!!!
도움이 많이 되었습니다!