묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
배열 문제 질문드립니다!
배열 문제 질문 드립니다. 이 문제 인데요 ArrayEx7 번 입니다. 다름이 아니라 평균은 왜 0 으로 초기화를 안하는건가요?int total = 0; 으로 해주었는데, 평균역시 0으로 초기화 해줘야 하지 않나요?? 아닌가여...ㅠㅠ?
-
미해결김영한의 실전 자바 - 기본편
다형성 참조에 관해 질문 있습니다.
public class Animal { public void sound(){ System.out.println("동물 울음 소리"); } } public class Dog extends Animal{ @Override public void sound() { System.out.println("멍멍"); } } public class BabyDog extends Dog{ public void sound() { System.out.println("낑낑"); } } public class AnimalPolyMain1 { public static void main(String[] args) { Dog dog = new Dog(); BabyDog babyDog = new BabyDog(); soundAnimal(dog); soundAnimal(babyDog); } private static void soundAnimal(Animal animal){ System.out.println("동물 소리 테스트 시작"); animal.sound(); System.out.println("동물 소리 테스트 종료"); } }안녕하세요. 강의 중 추가적으로 궁금한게 생겨서 질문드립니다. 그림에 따르면 코드에 만약에 제가 BabyDog클래스를 만들어서 Dog를 extends 한 후 오버라이딩을 하지 않고 매서드를 생성하면 "낑낑"이 아닌 매서드 오버라이딩이 된 "멍멍"이 출력되어야 하는 거 아닌가요??
-
미해결스프링 핵심 원리 - 기본편
핵심원리 기본편 외 추천 해주세요
김영한님스프링 핵심원리 기본편 수강신청 했습니다영한님 강좌를 모두 수강 신청할순 없으니기본편외에도. 꼭 알면좋겠다는 강의 2편정도만 더 추천해주세요 백앤드 개발자. 초급과중급사이 쯔음에. 있는사람으로. 추천해주세요
-
해결됨스프링 핵심 원리 - 기본편
@Autowired를 쓴 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용] @Autowired private ObjectProvider<PrototypeBean> provider;에서 @Autowired는 PrototypeBean을 주입하기 위해 필요한 것인가요?
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
자꾸 Access denied가 뜹니다..
1. 로컬 피씨에서 인텔리제이 그래들로 게시판 및 회원가입 양식 만들었으며 로컬피씨에선 정상적으로 구동됩니다.Virtualbox를 이용해 Rocky linux를 설치했고 위에서 만든 게시판 파일을 jar형태로 만들어 파일을 업로드 했습니다.jdk, mariadb 전부 설치했고 grant를 이용해 권한설정까지 전부 해줬는데 자꾸 저렇게 뜨는데 구글링해서 나오는 방법 전부 써봤는데 도저히 방법을 모르겠습니다 ㅜㅜ
-
미해결김영한의 실전 자바 - 기본편
질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요. 강사님 final변수와 상수1 강의에서한글로 바꾸었을 때 커서 아래에 "한글" 이라는 문자가 보이던데 이건 어떤 앱인지 알 수 있을까요?또한 키보드는 무엇을 사용하시는지 궁굼합니다..
-
해결됨스프링 핵심 원리 - 기본편
Map<String, DiscountPolicy>에서 수동 등록
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]@Configurationpublic class DiscountPolicyConfig { @Bean public DiscountPolicy rateDiscountPolicy() { return new RateDiscountPolicy(); } @Bean public DiscountPolicy fixDiscountPolicy() { return new FixDiscountPolicy(); }}와 같이 수동으로 등록하고Map<String, DiscountPolicy> policyMap의 DiscountPolicy에 fixDiscountPolicy, rateDiscountPolicy가 모두 잡히게 하려면 DiscountService에서 new AnnotationConfig...(DiscountPolicyConfig.class);를 사용해야하나요? 그러면 AutoAppConfig.class와 @Configuration이 충돌하는데, 어떻게 해야되나요? 할인 정책 설정 정보를 수동으로 등록하려면 코드를 어떻게 작성해야할 지 모르겠어서 질문드립니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
for 반복문에 대한 질문
강의에서 for을 쓸때for (선언;조건;증감) {수행할 명령}이라고 하셨는데조건이 충족되면,증감을 먼저 하는겁니까? 아님 수행할 명령을 먼저합니까?사실 continue 강의에서,에서 원래 for(int i)가 1이 되어야 하는데, 보시는 것처럼 0으로 해놨더니 20번 손님까지 찾아야 되는데 19번까지만 출력되더라고요 궁금해서 물어봅니다.두 질문 모두 볼드체 처리를 해서 둘다 답변 해주셨으면 합니다.
-
미해결스프링 핵심 원리 - 기본편
AnnotationConfigApplicationContext 다형성
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]강의 내용에서 MemberApp과 OrderApp에는 다음과 같이 // MemberApp.javapackage hello.core; import hello.core.member.Grade; import hello.core.member.Member; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class MemberApp { public static void main(String[] args) { // AppConfig appConfig = new AppConfig(); // MemberService memberService = appConfig.memberService(); ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); MemberService memberService = applicationContext.getBean("memberService", MemberService.class); Member member = new Member(1L, "memberA", Grade.VIP); memberService.join(member); Member findMember = memberService.findMember(1L); System.out.println("new member = " + member.getName()); System.out.println("find Member = " + findMember.getName()); } } // OrderApp.javapackage hello.core; import hello.core.member.Grade; import hello.core.member.Member; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.order.Order; import hello.core.order.OrderService; import hello.core.order.OrderServiceImpl; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class OrderApp { public static void main(String[] args) { // AppConfig appConfig = new AppConfig(); // MemberService memberService = appConfig.memberService(); // OrderService orderService = appConfig.orderService(); ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); MemberService memberService = applicationContext.getBean("memberService", MemberService.class); OrderService orderService = applicationContext.getBean("orderService", OrderService.class); Long memberId = 1L; Member member = new Member(memberId, "memberA", Grade.VIP); memberService.join(member); Order order = orderService.createOrder(memberId, "itemA", 20000); System.out.println("order = " + order); System.out.println("order.calculatePrice() = " + order.calculatePrice()); } } applicationContext를 생성할 때 그 자료형을 ApplicationContext란 Interface로 선언했는데 왜 ApplicationContextInfoTest에서는 ac의 자료형을 AnnotationConfigApplicationContext으로 하신거죠? // ApplicationContextInfoTest.javapackage hello.core.beanfind; import hello.core.AppConfig; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class ApplicationContextInfoTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("모든 빈 출력하기") void findAllBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name = " + beanDefinitionName + " object = " + bean); } } @Test @DisplayName("애플리케이션 빈 출력하기") void findApplicationBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { BeanDefinition beanDefinition = ac.getBeanDefinition(beanDefinitionName); } } } 그리고 ac의 자료형을 ApplicationContext 로 했을 때는 findApplicationBean 메서드의 ac.getBeanDefinition이 사용할 수 없다고 나오는데 AnnotationConfigApplicationContext으로 선언했을 때는 사용할 수 있는데 그 이유가 뭔지 궁금합니다.
-
해결됨스프링 핵심 원리 - 기본편
store에 static을 사용하는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]OrderServiceTest에서 NullPointerException 오류가 나서 찾아보니 MemoryMeberRepository의 store에 static이 빠져서 오류가 났었더라고요.store에 static을 붙이는 이유와 붙이지 않으면 NullPointerException이 발생하는 이유가 궁금합니다.
-
미해결코틀린 문법부터 실무까지 (실전 자바->코틀린 변환)
IntelliJ IDEA 문의
안녕하세요. 강의전 IntelliJ IDEA Ultimate 학생 라이센스 가능하다고 해서 수강신청을 하게 되었는데요. 해당 툴에 대한 설치 가이드가 보이지 않습니다. 학생신분이 아니기에 웹메일 인증이 어려울꺼 같은데요. 무료라이센스 사용가능한 방법을 알려주시면 감사하겠습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
객체지향 코드
안녕하세요, 강사님 덕분에 자바를 공부하는데 조금 수월해진 수강생입니다.객체지향을 공부하면서 자신이 작성한 코드가 정말 좋은 코드인지 항상 보는데 어떤건 바로 눈에 띄는데 어떤건 바로 눈에 안 띄어 작성한 코드가 좋은 코드인지 잘 판단하기 어려운 단계에서는 어떻게 스스로 리뷰를 해야 좋은지 여쭙고싶습니다
-
미해결김영한의 실전 자바 - 기본편
중급편 완강 후 스프링
방금 중급편 오픈 예정 글을 보고 왔습니다!혹시 중급편에서 예외처리와 제네릭 컬렉션에 관해서 공부 후에 고급편 듣지 않고 바로 스프링으로 넘어가도 되나요?!
-
미해결스프링 핵심 원리 - 기본편
인텔리제이 코드창 및 core패키지 초기화 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]첫 번째 사진의 화면에서 강의에 나와있는대로 CoreApplication 클래스의 코드를 실행 할 겨우 밑에 있는 사진 처럼 콘솔창은 정상적으로 작동하는거 같지만 코드 창이 초기화면 으로 돌아가는 오류가 발생합니다. 또한 command+tab을 하여 다른 창을 보고 다시 인텔리제이로 돌아 올 경우 밑에 사진처럼 core 패키지가 사라졌다 조금 기다려야 다시 나옵니다.인텔리제이를 삭제 후 재설치 해보기도 하였고 인텔리제이 파일 창에서 캐시삭제와 설정 초기화도 해보았지만 해결되지가 않습니다 ㅠㅠ 제발 해결방법 좀 알려주시면 감사하겠습니다.추가로 그냥 코드창을 띄어놓고 알트탭하여 인터넷창을 보고 돌아와도 코드창이 위 화면처럼 사라지며 core패키지가 사라졌다 다시 생깁니다. 참고로 스프링은 Gradle-groovy 프로젝트spring boot : 3.2.3 버전packaging : jarjava : 21로 ppt 와 강의 내용 그대로 설정하였습니다.제발 부탁드리겠습니다.
-
미해결김영한의 실전 자바 - 기본편
클래스와 인스턴스
클래스와 데이터 챕터에서클래스를 커스텀 데이터 구조, 그리고 인스턴스를 데이터 구조를 메모리에 올려 놓은 실체라고 이해해도 괜찮을까요? 제 표현에 제가 이해하지 못한 부분이 있지 않을까해서 질문드립니다.
-
해결됨스프링 핵심 원리 - 기본편
예제의 라이프사이클 질문있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]LifeCycleTest에서 networkClient가 빈으로 등록되는 순서가1. new NetworkClient()로 NetworkClient 인스턴스 생성 (ulr=null)2. setUrl을 통해 1에서 생성된 인스턴스의 url 설정3. 스프링 컨테이너에 빈 등록이 순서로 이해했습니다. 스프링 빈의 라이프사이클이스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸전 콜백 이 순서인데 이 강의의 예제에서 의존관계 주입은 없으니까 바로 초기화 콜백인 init()이 실행되고, 사용 또한 하지 않으니 바로 소멸전 콜백인 close()가 실행 되는 것으로 이해하면 될까요? 정리하면 networkClient 빈 생성 -> x -> init() -> x -> close()이 순서가 맞는지 확인 부탁드립니다!
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]sdkman 를 사용하긴 합니다만. Vendor 가 Corretto 여도 상관 없을까요?Oracle 도 있고 해서요
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
실행시 오류가 뜹니다.
안녕하세요. 현재 8강 까지 잘 따라오고 있는 학생입니다.방학동안 수강을 하다가 이번에 대학교에서 자바프로그래밍 수업도 같이 듣게 되었습니다.오늘 첫 수업에서 교수님은 이클립스를 사용하셨습니다. 그래서 저 또한 이클립스를 설치했습니다.문제는 이클립스 설치 이 후 김영한님 강의를 공부할려고 인텔리제이를 실행한 결과, 오류가 뜨면서 실행이 되지않습니다.아래는 문제가 되는 코드입니다. /Users/hyungkey/Library/Java/JavaVirtualMachines/openjdk-21.0.2/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=50023:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -p /Users/hyungkey/Desktop/JavaStudy/java-start/out/production/java-start -m test/scanner.ex.ScannerWhileEx4Error occurred during initialization of boot layerjava.lang.module.FindException: Error reading module: /Users/hyungkey/Desktop/JavaStudy/java-start/out/production/java-startCaused by: java.lang.module.InvalidModuleDescriptorException: CommentJava.class found in top-level directory (unnamed package not allowed in module)Process finished with exit code 1 어떠한 문제인지 파악되지 않습니다.
-
미해결김영한의 실전 자바 - 기본편
질문이요 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]해당 Data2 클래스에서 Counter.count를 써줬는데Counter.count를 사용하기 전에 Counter counter = new Counter(); 를 작성해야 Counter의 멤버변수를 사용할수있는 것 아닌가요?
-
미해결김영한의 실전 자바 - 기본편
인터페이스 질문입니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]인터페이스를 사용하는 이유는 알겠는데InterfaceA a = new Child(); 라고하는거랑Child a = new Child(); 라고 하는거랑 똑같은 결과를 얻는데명시적으로 InterfaceA a = new Child(); 라고 기재하는 버릇을 들이는게 나은건가요?