묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 1편
Enum 과 null object pattern
public enum HttpStatus { NONE(-1, "정의되지 않은 상태코드입니다."), OK(200, "OK"), BAD_REQUEST(400, "Bad Request"), NOT_FOUND(404, "Not Found"), INTERNAL_SERVER_ERROR(500, "Internal Server Error"); ... public static HttpStatus findByCode(int code) { for (HttpStatus status : HttpStatus.values()) { if (status.getCode() == code) { return status; } } return HttpStatus.NONE; } public boolean isSuccess() { return code >= 200 && code < 300; } } public class HttpStatusMain { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("HTTP CODE: "); int httpCodeInput = scanner.nextInt(); HttpStatus status = HttpStatus.findByCode(httpCodeInput); System.out.println(status.getCode() + " " + status.getMessage()); System.out.println("isSuccess = " + status.isSuccess()); } }안녕하세요 김영한 강사님. 먼저 항상 양질의 강의를 제공해주셔서 감사하다는 말씀을 전해드리고 싶습니다.HttpStatusMain 에서 null 체크하는 일이 발생하여 이를 제거해보면 어떻게 해야할까 에 대한 고민이 들었습니다.그래서, Enum 에 null object pattern 을 적용해보면 어떨까 하여 HttpStatus.NONE(-1, "정의되지 않은 상태코드입니다.") 와 같이 정의해봤습니다.이렇게 적용했을 때, 1. 다른 사이드 이펙트가 있을까요? 1-1. findByCode() 에서 return HttpStatus.NONE 이 아닌 throw new IllegalArgumentException("해당하는 상태코드가 없습니다."); 와 같이 RuntimeException 을 날리는 것이 더 나은 방법일까요? 2. 현업에서는 enum 타입의 null check, null object pattern 를 어떻게 구현하는지 궁금합니다.긴 글 읽어주셔서 감사합니다.
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
8강 Getter Setter 에 대한 질문이 있습니다.
안녕하세요 교수님.CPP에 대한 이해가 아직 많이 부족해서 수업을 듣던 중 질문이 생겼습니다. 조금 이상한 질문일 수도 있을것같은데,FString 멤버 변수의 Getter Setter 멤버 함수는FORCEINLINE FString& GetName() { return Name; }FORCEINLINE void SetName(const FString& InName) { Name = InName; }이렇게 인라인 함수 선언과 참조자 반환으로 성능을 중시한 반면, ECardType 열거형 멤버 변수의 Getter Setter의 경우에는ECardType GetCardType() const { return CardType; }void SetCardType(ECardType InCardType) { CardType = InCardType; }이렇게 선언하여 안정성을 추구한 것처럼 보이는데, 이런 설계 이유나 판단 기준이 무엇인가요? 객체의 크기와 특성에 따라 적절한 설계 방법이 조금씩 다르기 때문일까요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
api 작성중에 enum type 문의 드립니다.
이전 jpa활용 1편에서 작성했던 부분들을 api로 변경을 진행중입니다. 다른 부분들은 잘 진행되고있지만java 기초가 부족해서 enum으로 만든 OrderStatus부분을 어떻게 처리해야될지 감이 잡히질 않아 문의드립니다.처음 주문 내역페이지를 호출 할 때 주문상태(OrderStatus) 부분을 api로 받아 select 구성을 해야합니다. 이 때 enum을 배열로 변환(?)해서 넘기는게 맞는 방법일까요? 조회시 주문상태(OrderStatus)와 회원이름을 form으로 넘길때 Controller에서는 @RequestBody OrderSearch로 받으며 주문상태는 OrderStatus로 선언되어있습니다. 자동 맵핑이 안되는거같은데 enum type을 request로 어떻게 받아야하는지 궁금합니다. 질문이 잘 전달되었을지 모르겠지만 답변부탁드리겠습니다.감사합니다.
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
싱글톤 생성 방법 중 enum 단점에 대해 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요~ 우선 이런 좋은 강의를 제공해주셔서 정말 감사합니다. 싱글톤 생성 방법 중 enum으로 생성했을 시에 단점 중에 lazy initialization이 안된다고 말씀하셨는데요, 이 부분에서 궁금증이 있어서 질문 남깁니다. 예제에서 보여주신 enum 내의 INSTANCE 또한 클래스로딩 시점에 JVM의 static 영역에 변수가 등록되고, SettingsHolder와 마찬가지로 호출시점에 힙영역이 할당되면서 그때, static 영역내 변수에 해당 힙주소가 참조되는것으로 알고 있습니다, 그렇다면 이 부분도 lazy initialization이라고 볼 수 있는것 아닌가요?혹시 제가 잘못알고 있는 부분이 있다면 알려주시면 감사하겠습니다 ㅜ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
enum을 사용하는데 밑에 스위치문에서 오류가 뜹니다.
저는 현제 비주얼스튜디오 2019사용하고 있습니다. 상수와 열거형 부분 수업들으면서 따라하고 있었는데 선생님과 달리 enum 부분이 안되네요 밑에 있는 스위치 문에서는 'int'에는 'Scissors'에 대한 정의가 포함되어 있지 않고, 'int' 형식의 첫 번째 인수를 허용하는 액세스 가능한 확장 메서드 'Scissors'이(가) 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하세요 라는 오류가 뜹니다! 혹시 왜 그런지 알수 있을까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
property와 enum에서 질문이 있습니다.
Q1. Managers 클래스에서 각 Manager들의 싱글톤 객체들을 프로퍼티로 지닐 때에는 각 프로퍼티별로 필드가 프로퍼티의 value를 가지고 있게 했는데, 이번 강의의 BaseScene클래스의 SceneType 프로퍼티의 경우는 그냥 값을 초기화 해서 넣어주었습니다. 혹시 위의 두 경우 어떠한 차이점이 있거나, 다른 의도가 있으셨던 건지 알려주시면 감사하겠습니다. Q2. enum 타입으로 선언하실 때 어떠한 것들은 None(이전의 미로 자료구조 관련 강의 TileType), 이나 Unknown(이번 강좌의 SceneType) 같은 예외적인 상황에 사용될? 혹은 기본값으로 사용될? 값들을 미리 정의해 두셨는데, 다른 enum type을 정의하실 때에는 이러한 부분을 정의해 두지 않으셨습니다. 혹시, 예외적인 상황이나 기본값으로 사용될 것을 미리 예측, 혹은 미리 그러한 구조를 머릿속으로 짜신다음에 정의를 해두신 건가요? 아니면 어떤 다른 의도나 판단 기준이 있으신건가요? 언제나 양질의 강의 감사드립니다.
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
싱글톤 패턴 구현중 enum을 사용해 구현할 경우 단점중에서..
enum으로 싱글톤 패턴 구현중에 인스턴스가 미리 생성되는다는게 단점이라고 말씀하셨는데요. 혹시 예를들어 세부적으로 어떤점에서 단점이라는 건지 알려 주실 수 있으신가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Enum 에서 코드 사용
강의 잘 듣고 있습니다. 저는 ENUM을 GUEST("USER000"), USER("USER010"), ADMIN("USER020"); 와 같이 사용하고 DB에는 "USER000"과 같은 코드 값을 저장합니다. 혹시 EnumType.STRING에서 저 코드 값을 DB에 넣도록 할 수 있을까요? toString()을 오버라이드 하면 가능 한지 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
enum을 실무에서 어떻게 사용하시는가요?
안녕하세요. enum type에 대해 실무 사용은 어떻게 사용하시는지 질의드립니다. emum type을 대부분 string 으로 사용하시는데 실문에서도 동일하게 사용하시나요? 아니면 enum에 code를 지정해서 공통 코드로 DB에서 따로 관리하시는지 궁금합니다~!