묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
선생님 키보드가 궁금합니다.
학습 관련 질문은 아니여서 죄송합니다. 강의를 듣고 있는데, 키보드 소리가 너무 맘에 드네요.. 혹시 모델명좀 알 수 있을가요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ScannerWhileEx4
위의 이미지처럼 스캐너 넥스트 라인을 상품명 다음에 했을때 출력값에 상품명이 뜨지 않습니다. if다음에 바로 스캐너.넥스트라인을 두는것과 왜 이런 차이가 생기는건가요? 이해가 잘 되지않습니다
-
미해결김영한의 실전 자바 - 기본편
문제 풀이 방식에서 컴파일 에러가 뜬 이유를 알고 싶습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]물품 관리 프로그램을 작성할 때 위 사진에서 체크표시한 코드처럼 물품의 이름, 가격, 수량을 입력받는 즉시 물품배열에 대입해주었는데 컴파일에러가 뜨더라구요.이유를 생각해봤는데 물품'배열'에 대한 인스턴스는 생성해놨지만 해당 배열의 각각의 물품에 대한 인스턴스는 아직 생성하지 못한 상태여서 그런 건가요?그렇기 때문에 물품 정보를 입력받은 뒤 맨 마지막(밑줄 표시)에 메서드를 이용하여 객체를 만드는 동시에 물품 정보를 대입해주는 것이구요...?
-
해결됨스프링 핵심 원리 - 기본편
OrderServiceImpl은 DIP도 잘 지킨 코드인가요 ??
OrderServiceImpl은 DIP도 잘 지킨 코드인가요 ?? Order와 할인정책 사이 관계를 볼 때, 단일책임 원칙은 할인 정책이 discount하는 일 1개만 하고 있으니 지켰다고 보는데 DIP도 지킨 코드인가요 ?? 할인정책 관련 코드가 OrderServiceImpl부분에 아예 없는게 잘 지키는 거라고 생각했는데 아닌가요 ???
-
미해결스프링 핵심 원리 - 기본편
<섹션 7. 조회한 빈이 모두 필요할 때> 강의 질문
DiscountService 클래스에서 모든 Map으로 DiscountPolicy를 주입(@Autowired 생략) 받는다고 했는데 그렇다면 클래스에 @ComponentScan을 붙여서 등록된 빈들을 조회할 수 있도록 해야 하는 거 아닌가요?? 조금 헷갈리네요... ㅎㅎ
-
해결됨김영한의 실전 자바 - 기본편
[super - 생성자] 기본생성자 생략 부분
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]```public class ClassB extends ClassA{ public ClassB(int a) { super(); // 기본 생성자 생략 가능 System.out.println("ClassB 생성자 =" + a); }``````public class ClassA { public ClassA() { System.out.println("ClassA 생성자"); } }```강의에서 자식 클래스의 생성자에서 super(); 부모 클래스의 생성자 호출을 기본 생성자일 경우 생략가능이라고 하셨습니다.제가 이해가 안 가는 부분은 ClassA의 생성자는 기본 생성자가 아닌 매개변수가 없는 사용자 정의 생성자이고 자식 클래스에서는 기본생성자일 경우 생략가능이 아니라 자바 컴파일러가 부모 생성자의 호출이 명시적으로 없는경우 super();를 첫줄에 삽입해주기에 매개변수가 없는 생성자나 또는 생성자 정의가 없을 경우 기본 생성자를 호출한다가 맞지 않나 생각해 보는데 이 부분에 대해서 제가 잘못 알고 있는 점이 있으면 알려주시면 감사하겠습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
자바 프로그램은 자바가 설치된 모든 OS에서 실행할 수 있다고 하셨는데요
자바 프로그램은 자바가 설치된 모든 OS에서 실행할 수 있다고 하셨는데 제가 아는 언어들 예를들면 python, c 등 도 모두 다른 OS에서 실행되는걸로 알고있는데 제가 잘못알고 있는건가요?자바가 다른 OS에서 실행되는게 다른 언어의 차이점이 되는 이유가 뭔지 궁금합니다.
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
메모리에 변수 생성과 값을 할당할 때
지금 변수와 값을 생성하는 부분을 보고있습니다. 그런데 메모리에 변수와 값들의 주소를 가지는 포인터 변수를 가진다고 하신 부분에서 궁금증이 생겼는데 그러면 메모리의 값들은 이미 메모리 셀에 기존부터 가지고 있는 건가요? 아니면 그때마다 임의로 값을 메모리에 생성하는 건가요?
-
미해결스프링 핵심 원리 - 기본편
appConfig.xml
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.appConfig.xml 만들고 나서 에러가 뜨는데 어떻게 코드수정을 해줘야 할지 몰라 문의드립니다
-
미해결스프링 핵심 원리 - 기본편
해당 프로젝트 clone하면, 자바 파일이 생성이 안돼요.
private으로 가끔 다른pc에서 git clone해서 해당 프로젝트를 다운받으면, 항상 자바 파일이 컵모양 => 으로 바뀌면서, 읽기만되고 자바 파일도 생성이 안되더라고요.. 구글링 해본결과 소스 루트를 지정하면 해결되는데, clone할때마다 해줘야하는게 좀 번거롭고 이상한 거 같아서, 근본적인 해결책이 궁금합니다..
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
문제와풀이 1번문제 다른방식으로 작성해봤습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]package Cond; public class CondEx1 {public static void main(String[] args) { int score = 52; String grade; if (score >= 90) { grade = "A"; } else if (score >= 80) { grade = "B"; } else if (score >= 70) { grade = "C"; } else if (score >= 60) { grade = "D"; } else { grade = "F"; } System.out.println("학점은 " + grade + "입니다."); } }라고 코드를 짜봤는데 강의에서 사용하신 코드가 짧고간결한것 외에 또 다른 이점이 있나 궁금해서 작성해봅니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
강의 듣기점 궁금한점 질문있습니다
안녕하세요, 김영한 강사님. 자바 기본 개념을 듣기 전에 궁금한 점이 있어서 질문드립니다.제가 안드로이드 앱 개발을 위해서 자바와 코틀린을 배우려고 하는데, 자바 기초부터 다시 제대로 공부하면서 공부하고 난 뒤에 코틀린을 공부하려고 합니다.강사님의 강의들을 보니 백엔드와 웹에 기반한 강의들을 하시는 것을 보았는데, 이 Java 기초강의 시리즈를 끝까지 듣는 것이 자바 기본적인 것을 배우기에 좋은지 알고 싶습니다.
-
미해결김영한의 실전 자바 - 기본편
참조값 질문
안녕하세요. 현재 클래스 섹션 학습중인데 "참조값" 이 좀 헷갈려서 질문을 남기게 되었습니다. 제가 이해한 바로는 객체를 생성하면 참조값이 생성이 되고, 이 참조값을 통해 객체에 접근해서 객체를 사용한다. 이렇게 이해했는데 맞을까요?? 만약 아니라면 설명 한번 부탁드립니다..!
-
미해결김영한의 실전 자바 - 기본편
Interface 질문
안녕하세요. Interface 를 배울려고 하는데, 다형성을 모른 상태로 배우면 안되고, 다형성을 배운 다음에 Interface 로 넘어가야하나요 ?
-
해결됨C개발자를 위한 최소한의 C++
강사님 질문 드립니다.
opArithmetic 교육시에 "=" 오퍼레이터의 반환자를 *this 로 하지 않으면 문제가 생길거라 하셨는데 구체적인 문제 설명이 없으셔서 궁금합니다.
-
해결됨스프링 핵심 원리 - 기본편
멤버서비스 클래스 만드는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]현재 위와 같은 상황입니다. 왜 굳이 MemberService 인터페이스 및 클래스를 작성해야 하나요? 예를들어, MemberServiceTest 클래스에서다음과 같이 MemberService memberService = new MemberServiceImpl(); 대신 MemberRepository memberRepository=new MemoryMemberRepository(); 과 같이 하여도 되지 않나요? 굳이 MemberService 를 만드신 이유가 있을 것 같아 질문합니다.
-
미해결스프링 핵심 원리 - 기본편
프로토타입 빈 프록시
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요. 웹 스코프에서 프록시 모드를 사용했는데, 이것을 프로토타입 빈에도 적용할 수 있는지 궁금해서 코드를 조금 수정해보았습니다. public class SingletonWithPrototypeTest1 { @Test void prototypeFind() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(PrototypeBean.class, SingletonBean.class); SingletonBean singletonBean = ac.getBean(SingletonBean.class); singletonBean.prototypeBean.addCount(); assertThat(singletonBean.prototypeBean.getCount()).isEqualTo(1); SingletonBean singletonBean1 = ac.getBean(SingletonBean.class); singletonBean1.prototypeBean.addCount(); assertThat(singletonBean1.prototypeBean.getCount()).isEqualTo(1); } @RequiredArgsConstructor static class SingletonBean { private final PrototypeBean prototypeBean; } @Scope(value = "prototype", proxyMode = ScopedProxyMode.TARGET_CLASS) static class PrototypeBean { private int count = 0; public void addCount() { count++; } public int getCount() { return count; } @PostConstruct public void init() { System.out.println("PrototypeBean.init " + this); } @PreDestroy public void destroy() { System.out.println("PrototypeBean.destroy"); } } }수명이 다할 때까지 동일한 인스턴스를 사용하는 request 스코프 빈과 달리 prototype 빈은 메서드를 호출할 때마다 인스턴스 주소값이 달라지는 것 같아요. 가짜 프록시 객체도 스프링 컨테이너에서 빈을 가져오기 때문인가요?request 빈은 수명이 다할 때까지 스프링 컨테이너에서 관리되지만, prototype 빈은 스프링 컨테이너에서 초기화 단계까지만 관여하므로, 가짜 프록시 객체가 해당 객체의 메서드가 호출될 때마다 새로운 인스턴스를 가져오는건가요?? 그럼 가짜 프록시 객체는 항상 스프링 컨테이너를 경유하는 건가요?
-
미해결스프링 핵심 원리 - 기본편
다음과 같은 에러가 납니다... 몇 날 며칠 고민해도 해결이 안 됩니다.. 도와주세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. > Task :compileJava FAILEDC:\Users\user\Desktop\ȫ����\�ڵ�\core\src\main\java\hello\core\AppConfig.java:28: error: constructor OrderServiceImpl in class OrderServiceImpl cannot be applied to given types; return new OrderServiceImpl( ^ required: no arguments found: MemberRepository,DiscountPolicy reason: actual and formal argument lists differ in length1 errorFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':compileJava'.> Compilation failed; see the compiler error output for details.* Try:> Run with --info option to get more log output.> Run with --scan to get full insights.BUILD FAILED in 1s1 actionable task: 1 executed AppConfig랑 OrderServiceImpl은 강사님 코드랑 똑같이 했는데 어떤 것 때문에 안 되는지 모르겠습니다. 도와주세요.. 코드 첨부하겠습니다. package hello.core; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.discount.RateDiscountPolicy; import hello.core.member.MemberRepository; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.member.MemoryMemberRepository; import hello.core.order.OrderService; import hello.core.order.OrderServiceImpl; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AppConfig { @Bean public MemberService memberService() { //1번 System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService() { //1번 System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public MemberRepository memberRepository() { //2번? 3번? System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public DiscountPolicy discountPolicy() { return new RateDiscountPolicy(); } } package hello.core.order; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.member.Member; import hello.core.member.MemberRepository; import hello.core.member.MemoryMemberRepository; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component @RequiredArgsConstructor public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; // 아래 생성자를 RequiredArgsConstructor이 만들어줌 /* @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } */ @Override public Order createOrder(Long memberId, String itemName, int itemPrice) { Member member = memberRepository.findById(memberId); int discountPrice=discountPolicy.discount(member, itemPrice); return new Order(memberId,itemName,itemPrice,discountPrice); } // 테스트 용도 public MemberRepository getMemberRepository(){ return memberRepository; } }
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
강의 화면중 강의 자료 문의
안녕하세요. 먼저 유익한 강의 제공해주셔서 매우감사합니다.강의 시청중 궁금한 사항이 있는데, 해당 강의 자료를 어디서 다운로드 할수 있는지 알수 있을까요?소스코드는 다운로드후 적용 하였으나, 해당 웹 강의자료? 들은 강의사이트에서 찾지 못하여 문의 남깁니다.
-
미해결스프링 핵심 원리 - 기본편
실제로 수정자 주입시 누락문제를 경험하는 일이 있나요?
[질문 내용]여기에 질문 내용을 남겨주세요. 수정자 주입을 선택한 경우 4:38에 NPE가 나는 이유는 이해했습니다비록 @Autowired이 달려있지만 ac.getBean으로 획득한 orderService가 아니기 때문에 의존관계 주입이 일어나지 않았고 따라서 NPE가 발생한 것인데요그런데 실제로는 스프링을 사용할 것이고 따라서 orderService를 스프링 컨테이너가 관리하는 스프링 빈으로 사용을 할텐데 이 경우에는 @Autowired가 의존관계 주입을 알아서 다 해주니까수정자 주입의 경우에 누락문제를 걱정할 필요가 없는것 아닌가요?실제로 순수 자바코드를 사용해서 개발하는 경우가 있기 때문에 해당 예제를 보여주신것인지 궁금합니다