문제와 풀이 2 findByCode메서드 질문
173
작성한 질문수 20
안녕하세요 자바를 복습하다가 헷갈려서 질문 남깁니다
문제와 풀이 2번 HttpStatus 코드 정답에서
public enum HttpStatus {
....
public static HttpStatus findByCode(int code) {
for(HttpStatus status : values()) { ...
...
}findByCode는 static 메서드인데 안에 values()가 있길래 values() 메서드도 static 메서드겠구나하고
enum 클래스에 들어가 values()를 찾으려했습니다 . 그런데 enum의 메서드에는 values()가 없었어요..
GPT에게 물어보니 values()는 enum 클래스에서 자동으로 생성되는 static 메서드라는데 이게 무슨말인지 이해가 잘 안갑니다 !..
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 한조님!
enum 클래스의 values() 메서드에 대해 궁금하셨군요. 이 메서드는 자바 enum에서 자동으로 제공되는 특별한 메서드로, 해당 enum 타입의 모든 상수를 배열에 담아 반환합니다. findByCode 메서드에서는 이 values() 메서드를 사용하여 정의된 모든 HttpStatus 상수를 순회하면서 특정 코드를 가진 상수를 찾는 방식으로 구현되어 있습니다.
여기서 자동으로 생성되는 static 메서드라는 것은, 자바 컴파일러가 enum을 처리할 때 자동으로 values() 메서드를 추가해준다는 의미입니다. 따라서 특별히 선언하지 않아도 모든 enum 타입은 이 메서드를 지원하게 됩니다.
이는 자바 언어의 특징으로, enum은 단순한 상수 집합 이상의 기능을 가지고 있으며, 열거형 상수들을 다루기 쉽게 해줍니다. 이러한 메커니즘은 자바에서 코드를 간결하게 유지하면서도 열거형 데이터 타입을 쉽게 조작할 수 있도록 해주는 중요한 요소입니다.
더 자세한 설명을 포함하고 있는 유사한 질문과 답변은 아래 링크에서 확인하실 수 있습니다:
이 답변이 도움이 되었기를 바랍니다. 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
문제와 풀이
0
24
1
섹션 2 퀴즈 9번
0
34
2
강의노트 내용이 이해가 되지 않아서 문의드립니다.
0
48
1
중급1편, 래퍼클래스 문제와풀이2 로또제너레이터 질문
0
68
1
setVlaue질문
0
94
3
안녕하세요 코딩테스트와 병행하고 싶어서 질문드립니다.
0
94
1
findValue의 파라메터까지 래퍼클래스 배열인 이유가 있을까요?
0
75
1
아래 글처럼 toString() 강의부터 화면이 안보여요
0
99
2
TemporalAdjusters의 lastDayOfNextMonth(), lastDayOfNextYear() 메서드 지원 안함
0
84
2
오타 제보도 되나요?
0
90
2
지역 클래스 예제3 지역변수 질문
0
69
2
래퍼클래스 박싱 출력
0
60
1
자바 equals() 메소드에 대한 물리적 동일성, 논리적 동등성 질문
0
106
3
강의록 오타 제보
0
69
2
자바의 기본 클래스들에 관하여
0
71
1
실무에서 중첩(내부) 클래스 사용하나요?
0
79
1
지역 클래스 - 지역 변수 캡처3
0
55
1
12:30 의 newClassGrade 질문이 있습니다.
0
57
1
날짜와 시간 문제풀이가 막히는데
0
100
2
내부 클래스의 바깥 클래스 참조
0
68
1
스트링 풀, new String()
0
105
3
정적 중첩 클래스 사용 이유
0
97
1
status.getCode() 대신 status.code 사용
1
81
1
메서드의 지역변수명과 내부클래스의 멤버메서드에서의 지역변수명의 중복관련
0
75
1





