inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

jdk 버전 질문 있습니다.

해결됨

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 21버전을 선택하면 오라클 오픈 jdk 가 없어서 자료에서 알려주신 것처럼 해당 버전을 선택했는데 jdk 가 맞지 않다고 나오는거 같아요. 오라클 오픈 jdk 22 버전을 사용하면 아무 문제가 없이 잘 되고 있습니다. 다운받은 코드 파일도 잘열리고 위에 사진 처럼 jdk 가 맞지 않다는 에러도 없습니다. 오라클 오픈 jdk 22 버전을 사용해도 무방할까요?

  • java
  • 객체지향
woohyeon3382 댓글 1 좋아요 0 조회수 273

정적 중첩클래스내 private 필드변수를 외부 클래스에서 접근가능한 이유가있나요?

미해결

김영한의 실전 자바 - 중급 1편

package nested.nested.ex2; public class Network { private int age; public void sendMessage(String text) { NetworkMessage netWorMessage = new NetworkMessage(text); netWorMessage.print(); netWorMessage.content = "abc"; } private static class NetworkMessage { private String content; public NetworkMessage(String content) { this.content = content; } public void print() { System.out.println(content); } } } 위 로직에서 netWorMessage.content = "abc"; 부분이 제 예상으론 컴파일 에러가 나야하는데 신기하게도 정상 수행됐습니다. 정적중첩클래스 NetworkMessage 내부에 private으로 선언한 content를 바깥클래스인 Network의 sendMessage() 메서드 에서 어떻게 직접 접근 할수있는지 모르겠습니다 ㅎㅎ

  • java
  • 객체지향
배려하기 댓글 1 좋아요 0 조회수 102

AssertionFailedError 에 관해

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] JdbcTemplateRepository를 작성하고 통합테스트를 진행하였는데 결과가 AssertionFailedError 가 발생하였습니다, 기대값은 19인데 spring으로 되었다고 하는것 같은데 어떤점이 문제일까요 ?

  • java
  • spring
  • mvc
  • spring-boot
1인분개발자 댓글 2 좋아요 0 조회수 149

fetch join

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 내용] 강의를 보면 즉시로딩을 사용하면 값을 다 가져오기는 하나 N+1의 영향 때문에 그걸 막아주려고 사용하는게 fetch join인 것으로 이해하는데요 만약 이게 맞다면 강의 를 봣을때 즉시로딩을 사용하지말고 무조건 지연로딩만 사용 해야 한다면 fetch join은 즉시로딩을 쓸때만 쓰는거니 프로젝트를 할때에는 즉시로딩이 필요가 없으니 사용 할 필요가 없는건가요?

  • java
  • jpa
형종 댓글 1 좋아요 0 조회수 117

고아객체 질문입니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요. 섹션 9-3 질문입니다. 고아 객체 주의할 점에 특정 엔터가 개인 소유할 때 사용하는 것인데, 개인 소유가 아니고 다른 엔티티가 참조할 때 문제가 있나요? 예를 들어 부모 엔터티를 삭제하면 고아객체인 자식 엔터티도 삭제가 될 텐데 어차피 삭제할 때 자식 엔터티의 id(pk)를 보고 삭제를 할텐데 다른 엔터티가 참조해도 영향이 없지 않나요? 감사합니다.

  • java
  • jpa
oniic 댓글 1 좋아요 0 조회수 72

강의자료 안열림

미해결

김영한의 실전 자바 - 중급 1편

중급 강의자료만 이렇게 열리는 이유가 뭘까요??

  • java
  • 객체지향
ㅇㄱㅇㄱ 댓글 2 좋아요 0 조회수 139

강의자료 안열림

미해결

김영한의 실전 자바 - 중급 1편

왜 강의 소스코드가 인텔리제이에서 안열리죠??? 중급만 안열리네요

  • java
  • 객체지향
댓글 2 좋아요 0 조회수 153

반복문 강의 질문

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

13분 10초대 코드 질문입니다! 이 코드에서 2단 출력 결과는 i=10일 때 2 * 10 = 20까지 출력하는게 맞을까요?

  • python
  • java
  • c
  • 정보처리기사
김강식 댓글 1 좋아요 0 조회수 177

상속받지 않은 클래스 객체 생성

해결됨

김영한의 실전 자바 - 중급 1편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 예외 처리가 필요한 이유1 - 시작 강의 7분대에 NetworkServiceV0 클래스에서 sendMessage 메서드 안에 NetworkClinetV0 클래스 객체를 생성하는데 지금까지 배운 내용으로는 상속을 받지 않고서 저렇게 타 클래스의 객체를 생성하는 건 처음 봐서요! 그래서 찾아봤더니 이게 의존성 주입(DI)이라는데 제가 알맞게 이해한 것인지, 또한 이 기법에 대해서 추가적인 설명을 여쭤보고 싶습니다! 이전에 배운 내용인데 제가 모르고 있는 것은 아닌 거죠?

  • java
  • 객체지향
클레어몬트 댓글 2 좋아요 0 조회수 123

abstract 상속

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

3분 50초 출력값을 봤을 때, 부모가 먼저 안태어나도 되는건가요?

  • python
  • java
  • c
  • 정보처리기사
꿈나무 댓글 1 좋아요 0 조회수 146

진도 문의

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

104개 강의 다들은거 같은데, 103개 완료라고만 뜹니다. 확인 방법이 있을까요?

  • java
  • 코딩-테스트
kyujong.roh 댓글 1 좋아요 0 조회수 95

orderList() 관련 질문입니다

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

orderController - orderList()에서 파라미터로 @ModelAttribute("orderSearch") OrderSearch orderSearch를 바인딩하여 전달하는데, 이 orderSearch 객체가 어디서 객체를 가져와서 바인딩되는지 모르겠습니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
서현진 댓글 2 좋아요 0 조회수 176

for반복문을 임의로 바꿔 봤는데 오류가 나는 이유를 모르겠어요

미해결

김영한의 실전 자바 - 기본편

안녕하세요 실전 자바 기본편 섹션3 기본형과 참조형 문제와 풀이부분에서 for (int i = 0; i < orders.length; i++) { System.out.println((i + 1) + "번째 주문 정보를 입력하세요."); System.out.println("상품명: "); String productName = scanner.nextLine(); System.out.println("가격: "); int price = scanner.nextInt(); System.out.println("수량: "); int quantity = scanner.nextInt(); scanner.nextLine(); orders[i] = createOrder(productName, price, quantity); } for 반복문을 for(ProductOrder order : orders) { System.out.println("상품명을 입력하세요: "); String productName = scanner.nextLine(); System.out.println("가격을 입력하세요: "); int price = scanner.nextInt(); System.out.println("갯수를 입력하세요: "); int quantity = scanner.nextInt(); scanner.nextLine(); order = createOrder(productName, price, quantity); } 이렇게 고쳤봤더니 createOrder 메소드에서 order변수값이 null이라면서 오류가 나는데요.. 혹시 order변수에 null값이 들어가면서 오류가 나는 이유가 뭔지 알수있을까요?

  • java
  • 객체지향
nimbus 댓글 1 좋아요 0 조회수 116

영상 속 문제 파일 요청드립니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

선생님 안녕하세요. 오늘 재접수 했습니다. 열기가 대단한 지 두시간 반만에 집근처는 모두 마감이라 한시간 내외의 거리로 접수했어요 지난번에 요청드렸었던 내용으로 재 요청 드립니다. 영상에서 사용하신 문제를 다시 풀어볼 수가 없어서요(종이로 써가면서..) 영상 캡쳐도 안되더라고요 문제 모음집 파일 요청 드립니다.

  • python
  • java
  • c
  • 정보처리기사
이성미 댓글 1 좋아요 0 조회수 232

Scanner 문자열 (한글)

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

Scanner 함수 예제풀이중 문자열로 입력을 받게해야하는데 한글은 입력이 안됩니다 뭐가 문제일까요????

  • java
  • 객체지향
유동곤 댓글 2 좋아요 0 조회수 208

부모쓰레드 개념 질문입니다.

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

안녕하세요, 강의 중, 모든 쓰레드는 직접적으로 만들 수 없고 메인쓰레드에 의해서 생성이 된다고 하셨던 부분에 대해서 궁금한 점이 있어서 질문을 남깁니다. 자바 말고 스프링의 경우에도 1개의 메인쓰레드가 N개의 요청에 따른 스레드를 생성해주는 구조일까요? 요청당 1개의 스레드를 차지하는데 이 경우에는 어떻게 되는지 궁금합니다 ~

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
황보협 댓글 1 좋아요 0 조회수 209

자바 예외처리 할때 쓴 주석질문이요

해결됨

김영한의 실전 자바 - 중급 1편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 자바 예외 처리 하면서 본 주석이 궁금해 져서 질문을 남깁니다. 영한님이 throws을 보여주려고, 마우스에 callThrow() 된 것을 보고 (사진 참조) 다른것은 어떻게 될까 해서 그래서 다른 것도 마우스에 되보니, 사진처럼 되엇습니다. 보니까 초록색 주석이 이런 역할을 하더라고요. 그래서 궁금해진 점이 초록색 주석 처럼, 이런 식의 주석이 또 있나요? 그리고 영상을 보니까 단축키를 안쓰고, 타이핑을 하던데, 혹 단축키 같은 게 있을까요? 추가1 : 너무 유용해 보여서요. 추가2 : 글이 좀 너무 이상해서(도둑놈 심보..여서) 수정 하였 습니다. 답변 부탁 드립니다.

  • java
  • 객체지향
생각하는자 댓글 2 좋아요 1 조회수 342

MemberRepositoryTest 부분에서 오류가 나요

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 커뮤니티 보면서 같은오류들 따라해봤는데 잘 안되네요 오류코드: No matching tests found in any candidate test task. Requested tests: Test pattern jpabook.jpashop.MemberRepositoryTest.testMember in task :test * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.10/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 12s 4 actionable tasks: 1 executed, 3 up-to-date

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
나상민 댓글 3 좋아요 0 조회수 538

56강에 대한 질문입니다(BoundedMain).

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] package thread.bounded; import static util.MyLogger.log; public class ProducerTask implements Runnable { private BoundedQueue queue; private String request; public ProducerTask(BoundedQueue queue, String request) { this.queue = queue; this.request = request; } @Override public void run() { log("[생산 시도] " + request + " -> " + queue); log("[생산 완료] " + request + " -> " + queue); } } package thread.bounded; import static util.MyLogger.log; public class ConsumerTask implements Runnable { private BoundedQueue queue; public ConsumerTask(BoundedQueue queue) { this.queue = queue; } @Override public void run() { log("[소비 시도] ? <- " + queue); String data = queue.take(); log("[소비 완료] " + data + " <- " + queue); } } package thread.bounded; public interface BoundedQueue { void put(String data); String take(); } package thread.bounded; import java.util.ArrayList; import java.util.List; import static util.MyLogger.log; import static util.ThreadUtils.sleep; public class BoundedMain { public static void main(String[] args) { // 1. BoundedQueue 선택 BoundedQueue queue = new BoundedQueueV1(2); // 2. 생산자, 소비자 실행 순서 선택, 반드시 하나만 선택! producerFirst(queue); // 생산자 먼저 실행 //consumerFirst(queue); // 소비자 먼저 실행 } private static void producerFirst(BoundedQueue queue) { log("== [생산자 먼저 실행] 시작, " + queue.getClass().getSimpleName() + " =="); List<Thread> threads = new ArrayList<>(); startProducer(queue, threads); printAllState(queue, threads); startConsumer(queue, threads); printAllState(queue, threads); log("== [생산자 먼저 실행] 종료, " + queue.getClass().getSimpleName() + " =="); } private static void consumerFirst(BoundedQueue queue) { log("== [소비자 먼저 실행] 시작, " + queue.getClass().getSimpleName() + " =="); List<Thread> threads = new ArrayList<>(); startConsumer(queue, threads); printAllState(queue, threads); startProducer(queue, threads); printAllState(queue, threads); log("== [소비자 먼저 실행] 종료, " + queue.getClass().getSimpleName() + " =="); } private static void startProducer(BoundedQueue queue, List<Thread> threads) { System.out.println(); log("생산자 시작"); for (int i = 1; i <= 3; i++) { Thread producer = new Thread(new ProducerTask(queue, "data" + i), "producer" + i); threads.add(producer); producer.start(); sleep(100); } } private static void startConsumer(BoundedQueue queue, List<Thread> threads) { System.out.println(); log("소비자 시작"); for (int i = 1; i <= 3; i++) { Thread consumer = new Thread(new ConsumerTask(queue), "consumer" + i); threads.add(consumer); consumer.start(); sleep(100); } } private static void printAllState(BoundedQueue queue, List<Thread> threads) { System.out.println(); log("현재 상태 출력, 큐 데이터: " + queue); for (Thread thread : threads) { log(thread.getName() + ": " + thread.getState()); } } } package thread.bounded; import java.util.ArrayDeque; import java.util.Queue; import static util.MyLogger.log; public class BoundedQueueV1 implements BoundedQueue { private final Queue<String> queue = new ArrayDeque<>(); private final int max; public BoundedQueueV1(int max) { this.max = max; } @Override public synchronized void put(String data) { if (queue.size() == max) { log("[put] 큐가 가득 참, 버림: " + data); return; } queue.offer(data); } @Override public synchronized String take() { if (queue.isEmpty()) { return null; } return queue.poll(); } @Override public String toString() { return queue.toString(); } } C:\Users\lgh80\.jdks\temurin-21.0.4\bin\java.exe --enable-preview "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar=52674:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\java-adv1\out\production\java-adv1 thread.bounded.BoundedMain 09:38:16.411 [ main] == [생산자 먼저 실행] 시작, BoundedQueueV1 == 09:38:16.413 [ main] 생산자 시작 09:38:16.424 [producer1] [생산 시도] data1 -> [] 09:38:16.425 [producer1] [생산 완료] data1 -> [] 09:38:16.531 [producer2] [생산 시도] data2 -> [] 09:38:16.532 [producer2] [생산 완료] data2 -> [] 09:38:16.642 [producer3] [생산 시도] data3 -> [] 09:38:16.642 [producer3] [생산 완료] data3 -> [] 09:38:16.752 [ main] 현재 상태 출력, 큐 데이터: [] 09:38:16.754 [ main] producer1: TERMINATED 09:38:16.754 [ main] producer2: TERMINATED 09:38:16.754 [ main] producer3: TERMINATED 09:38:16.755 [ main] 소비자 시작 09:38:16.757 [consumer1] [소비 시도] ? <- [] 09:38:16.757 [consumer1] [소비 완료] null <- [] 09:38:16.864 [consumer2] [소비 시도] ? <- [] 09:38:16.865 [consumer2] [소비 완료] null <- [] 09:38:16.974 [consumer3] [소비 시도] ? <- [] 09:38:16.975 [consumer3] [소비 완료] null <- [] 09:38:17.085 [ main] 현재 상태 출력, 큐 데이터: [] 09:38:17.085 [ main] producer1: TERMINATED 09:38:17.086 [ main] producer2: TERMINATED 09:38:17.086 [ main] producer3: TERMINATED 09:38:17.086 [ main] consumer1: TERMINATED 09:38:17.087 [ main] consumer2: TERMINATED 09:38:17.087 [ main] consumer3: TERMINATED 09:38:17.087 [ main] == [생산자 먼저 실행] 종료, BoundedQueueV1 == Process finished with exit code 0 이런 식으로 출력이 뜨는데 강의 내용에 나와있는 로그 창이랑 많이 달라서 강의 코드랑도 비교해봤는데 어디에서 문제가 있는 건지 잘 모르겠습니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
lgh8079 댓글 2 좋아요 0 조회수 223

인기 태그

인프런 TOP Writers

주간 인기글