묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
@RequiredArgsConstructor 과 @Qualifier은 동시 사용이 되지 않는 건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]강의를 수강하다가 궁금한 것이 있어 질문드립니다.이전 롬복 강의에 이어 @Qualifier 사용 코딩하니 롬복과 @Qualifier 이 동시에 되지 않는 것으로 판단됩니다.같이 사용할 수 있는 방법은 없는 것인가요?@Qualifier 사용을 위해서는 @AutoWired로 생성자 주입을 해야하는 것인가요? 실무에서는 어떻게 하시는지 궁금합니다.
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
MyFileWriter 클래스 선언 질문
처음에 MyFileWriter 클래스를 null 로 선언하고 Try 문안에서 new 키워드를 사용한 이유는 무엇인지 궁금합니다 !!public static void main(String[] args){ MyFileWriter writer = new MyFileWriter(); try{ writer.write("아이스크림이 먹고 싶어요"); }catch (Exception e){ e.printStackTrace(); }finally { try { writer.close(); } catch (Exception e) { throw new RuntimeException(e); } }이런식으로 사용하는 것과 무슨 차이가 있는지 궁금합니다 !
-
미해결스프링 핵심 원리 - 기본편
웹스코프와 프로토타입스코프의 차이점
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]둘 다 요청 후에는 삭제되는 거 같은데 차이점을 모르겠습니다.
-
해결됨스프링 핵심 원리 - 기본편
Test 코드 작성 시에는 왜 import 문이 없나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 강의 잘 보고 있습니다.문득 코딩하다 궁금한 점이 컨트롤러, 서비스, 레포지토리 등을 작성할 땐 import 문을 사용하여 클래스를 사용하는데TEST 코드를 작성할 땐 왜 import 문을 작성하지 않아도 클래스를 사용할 수 있는 건가요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 2번 질문입니다!
안녕하세요? 퀴즈 2번 질문이 있습니다.2분 31초부터 "삼항연산자를 이용해서 결과값을 String 변수에 저장해놓는다."라고 하셨는데 왜 String이 쓰이는지 궁금합니다!
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
입력
강의 5분 2초에int height = sc.next();이렇게 했을 때 오류가 생겨서 "문자열"로 입력 받은 값을 "정수"로 바꿔주어야 한다고 설명해주셨는데 키는 숫자인데 왜 문자열로 입력 받는다고 설명해주셨는지 궁금합니다!
-
미해결스프링 핵심 원리 - 기본편
빈 스코프 강의에서
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.빈 스코프 강의에서singtonbean.class를 통해 스프링 컨테이너를 만들었는데이 방식으로 스프링 컨테이너를 만들면 singtonbean 클래스 객체가 만들어져 스프링 컨테이너에 저장되는 건가요? 그리고 이 방식으로 스프링 컨테이너를 생성하면 해당 클래스는 componentscan의 대상이 된다고 하셨는데해당 클래스에 componentscan 애노테이션이 있는 것이랑 똑같다고 봐도 무방한가요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
형 변환 질문입니다!
숫자를 문자열로 바꿀 때String.valueOf 를 사용하는 것과 Integer를 사용하는 것 2개를 알려주셨는데 String.valueOf를 사용하여 출력했을 때는 잘 출력이 되었습니다.Integer를 사용할 때도 아래 사진처럼 사용하면 안 되고 위에 String s1 = String.valueOf(93);을 함께 작성해야 하는 건가요?
-
해결됨스프링 핵심 원리 - 기본편
래퍼 객체 Long 타입을 쓰는 이유가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. member 도메인을 만들 때 왜 기본형 long 이 아닌 Long 래퍼 객체 타입을 사용하는지 궁금합니다.감사합니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
왜 자식클래스의 메서드가 메인에서 실행될까요?
다형성을 배울때, 변수의 자료형이 부모클래스라면 자식클래스에만 존재하는 메서드는 바로 사용이 되지않아 자식클래스로 형변환 해준뒤 사용한다고 했던거같습니다. 하지만 이번 예제에서, 분명 hamburgers array의 자료형은 Hamburger,즉 부모클래스의 자료형인데, 어째서 루프 안에서 hamburger.cook()이 실행될때마다 오버라이딩된 자식클래스 속의 cook메서드가 실행되는거에요?
-
미해결스프링 핵심 원리 - 기본편
구현에 관한 질문
DiscountPolicy와 같은 인터페이스들을fixdiscount, ratediscount 등 클래스가 상속을 받고main에서 클래스를 사용할때 부모클래스로 구현을 하잔아요예를 들어 영상에서 코드를 보면 DiscountPolicy discountpolicy = new RateDiscountPolicy의 형식처럼 구현되는데만약에 자손 클래스에 새로 메서드를 추가를 했는데그 메서드를 부모가 가지지 않았다면 그 메서드를 다운캐스팅을 통해 쓰는 건가요??아니면 메서드를 부모 인터페이스에도 적어주어 오버라이딩으로 활용하는 것이 좋나요? 수업에서 계속 다형성을 활용해 진행하기 때문에 이런 궁금점이생겼습니다.
-
해결됨스프링 핵심 원리 - 기본편
Map<String, DiscountPolicy> beansOfType = ac.getBeansOfType(RateDiscountPolicy.class);
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Map<String, DiscountPolicy> beansOfType = ac.getBeansOfType(DiscountPolicy.class); 이 부분에서 DiscountPolicy.class를 RateDiscountPolicy.class로 바꿔 보면 Map<String, DiscountPolicy> beansOfType = ac.getBeansOfType(RateDiscountPolicy.class); 오류가 나는데 이유가 뭔가요? RateDiscountPolicy는 DiscountPolicy의 구현체니까 DiscountPolicy 타입에 대입될 수 있으니 당연히 상관없을 줄 알았는데 오류가 나는 것 같더라고요.. 아래는 제가 IDE에서 따로 작성해 본 코드인데 RemoteControl rc = new SmartTelevision(); Map<Integer, RemoteControl> temp = new HashMap<>(); temp.put(1, rc); 여기서 SmartTelevision이 RemoteControl의 구현체인데 Map 객체에 저장이 되더라고요. 그래서 위의 스프링에서의 RateDiscountPolicy의 경우도 문제 없을 줄 알았는데.. 안 되는 이유가 뭘까요..
-
해결됨스프링 핵심 원리 - 기본편
특정 하위 타입으로 조회할 때 궁금한 점 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]아래 코드의 findBeanBySubType()에서RateDiscountPolicy bean = ac.getBean(RateDiscountPolicy.class); 이 부분을 보면 RateDiscountPolicy 타입으로 조회한다는 뜻인데 TestConfig를 보면 rateDiscountPolicy는 리턴할 때 RateDiscountPolicy를 리턴하지만 메서드 시그니처에 있는 리턴 타입 자체는 DiscountPolicy이잖아요? RateDiscountPolicy bean = ac.getBean(RateDiscountPolicy.class);를 실행한 이후 동작 과정이 궁금합니다. DiscountPolicy 타입인 빈들을 먼저 찾고 그것들이 여러 개일 때 RateDiscountPolicy를 찾는지, 아니면 바로 처음부터 RateDiscountPolicy인지 FixDiscountPolicy인지 구분할 수 있는지 궁금합니다. @Test @DisplayName("특정 하위 타입으로 조회") public void findBeanBySubType() { RateDiscountPolicy bean = ac.getBean(RateDiscountPolicy.class); assertThat(bean).isInstanceOf(RateDiscountPolicy.class); } @Configuration static class TestConfig { @Bean public DiscountPolicy rateDiscountPolicy() { return new RateDiscountPolicy(); } @Bean public DiscountPolicy FixDiscountPolicy() { return new FixDiscountPolicy(); } } }
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
상대경로 관련 질문드립니다
안녕하세요! 퀴즈를 풀다가 상대 경로에 대해 궁금한 점이 생겨 질문드립니다.강의에서 saying.txt 파일과 Quiz_13 파일이 chap_13에 속한 상황으로 나옵니다. 여기서 저는 상대 경로는 현재 디렉토리를 기준으로 목표로 하는 파일의 위치를 작성하는 것이라고 이해하여 FileReader의 파라미터로 "saying.txt"라고 작성하였습니다. 그런데 강의를 본 후 src폴더의 경로부터 작성해야 함을 알게 되었습니다. ("src/chap_13/saying.txt")분명 saying.txt 파일과 Quiz_13 파일이 같은 chap_13 폴더에 있는데 왜 상위 폴더인 src 폴더의 경로부터 작성하는건가요?
-
해결됨스프링 핵심 원리 - 기본편
테스트하는 클래스에서 public을 지워도 된다고 하셨는데
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의에서 김영한 선생님께서 테스트할 땐 public을 지워도 된다고 하셨는데혹시 지우는 게 더 좋은 건가요? 테스트 성능이라든가.. 특정 측면에서 public을 지우는 게 더 나은 건가요? 강의에선 public을 지워도 된다고만 말씀하시고 지우는 게 낫다는 말씀은 따로 안 하시긴 했는데,클래스를 새로 만들 때 자동으로 생기는 public을 일부러 지우시길래 혹시 지우는 게 더 나은 거라서 일부러 지우시는 건지, 아니면 지워도 그만 안 지워도 그만이지만, 지워도 상관없다는 걸 보여주시고 싶어서 지우시는 건지 모르겠습니다. public을 써도 크게 상관없나요? 아니면 지우는 게 낫나요? class ApplicationContextInfoTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("모든 빈 출력하기") void findAllBean() {
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
intellij 라아센스
intellij에서 라이센스 선택하는 게 나오는 데 어떤것을 선택해야하나요? 그냥 나가기 누르면 창이 꺼집니다. start trial로 하면 될까요?
-
미해결스프링 핵심 원리 - 기본편
새로운 할인 정책 개발 5:35
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]5:35에서 왜 DiscountPolicy discountPolicy = new RateDiscountPolicy();가 아닌RateDiscountPolicy discountPolicy = new RateDiscountPolicy();로 작성하나요?
-
미해결스프링 핵심 원리 - 기본편
appConfig를 호출한 곳이 없는데 어떻게 동작하는 건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하십니까 강의 너무 유익하게 잘 보고 있습니다.사진에 첨부해 드린것과 같이 강의 자료에서는 별도의 Appconfig가 import 되지 않은 채로 실행되는데 저의 환경에서는 자동적으로 import가 됩니다. 혹시 버전의 차이때문이 아니라면 설명한번 부탁드리겠습니다.감사합니다!
-
미해결스프링 핵심 원리 - 기본편
'다양한의존관계주입방법'강의 중 필드 주입
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]교재에 보면 참고: 부분에 '@Bean에서 파라미터에 의존관계는 자동주입된다. 수동 등록시 자동등록된 빈의 의존관계가 필요할 때 문제를 해결 할 수 있다' 되어있습니다.앞의 @Bean에서 의존관계 자동주입되는것은 생성자주입(어노테이션이 없어도되는)을 통해 의존관계가 자동으로 주입된다고 이해했습니다.그런데 다음 문장에서 수동등록시 자동등록된 빈의 의존관계가 필요할 때 문제를 해결한다라는 내용 자체가 정확히 이해가 되지않습니다. 빈을 수동등록한다는건지 의존관계를 수동등록한다는건지 아예 감이 안잡힙니다. 아래 OrderService 예시를 가지고 구체적으로 설명해주시면 감사하겠습니다.
-
해결됨스프링 핵심 원리 - 기본편
AllBeanTest 관련 질문
스프링 핵심 원리 - 기본편섹션7 - 의존관계 자동 주입 관련 질문입니다. 강의 실습내용 중 AllBeanTest 클래스를 생성하여모든 빈을 조회하는 부분이 있는데,강의에서는 정상적으로 실행이 되지만제가 해봤을 때는 하나의 빈을 기대 했지만 2개가 발견된다는 오류메세지가 발생합니다.강의 내용 상 해당 실습 부분에서는 빈이 2개 이상 일 때 조치를 취해주지 않아도 정상적으로 실행되어야하는 것으로 보이는데 무엇이 문제인지 모르겠습니다.이 부분이 혹시 버전에 따라 다를 수도 있나 싶습니다.강의에서는 springframework 2.3.1 버전을 사용한 것으로 아는데저는 해당 버전을 쓸 수 없어서 2.7.15 버전으로 진행 중 입니다. 아래는 해당 코드입니다.답변 부탁드립니다. 감사합니다.