inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

강의 중 헷갈리는 개념

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 9:12초 정도에 블록 내부에서 외부는 접근 가능하다고 했는데 블록 외부에서 생성된 변수가 블록 내부에 접근 가능한 게 아닌가요?

  • java
  • 객체지향
창진 이 댓글 2 좋아요 0 조회수 143

예외클래스 파일 선언 질문..

해결됨

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

NetworkClientException 클래스의 하위 클래스인 Send,Connect 예외클래스들을 별도 파일로 각각 만들지 않고, NetworkClientException 클래스 내부에 정적 중첩 클래스로 선언하는건 안좋나요? 상황에따라 다양한 종류의 예외들을 만들텐데, 그런것들 마다 별로의 파일로 만드는게 저는 디렉토리가 복잡해 보이기도 하고, 논리적으로 어떤게 부모클래스이고 어떤게 자식클래스인지 한눈에 들어오지 않을거같다는 생각이 문득 들어 질문드립니다!

  • java
  • 객체지향
정신차려 댓글 1 좋아요 0 조회수 113

에노테이션 정리에서 - 에노테이션 서블릿 질문

해결됨

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 질문을 드립니다. 정리에서 에노테이션으로 서블릿을 만들라고 해서 만들었습니다. 근데 복사 붙여 넣기 한 코드들이라서 이렇게 해도 되는지 알고 싶어서 올립니다. 이용한 코드는 영한님의 심플맵핑, 리플렉션 서블릿을 복사 붙여놓기 한다음 수정해서 하였습니다. 이렇게 해도 되나요? 답변 부탁 드립니다.

  • java
  • 네트워크
  • 객체지향
생각하는자 댓글 1 좋아요 0 조회수 130

2024년 1회 기출문제 중 자바 코드 실행순서문제 (23:51) 질문입니다.

해결됨

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

해당 내용 중 Parent parent = new Child(3); // 6 이 실행되면 이후 3 -> 1 순서로 진행된다고 설명해주셨는데, 만일 아래코드와 같이 super를 명시적으로 호출하지 않고, 파라미터도 동일하다면 순서가 1 -> 3의 순서로 진행되는 것일까요?? class Parent { int x; Parent(int x) { // 1 this.x = x; } ... } class Child extends Parent { int x; Child(int x) { // 3 this.x = x; } ... } ... 만일 위 내용이 맞다면, 아래와 같이, 같은 파라미터의 생성자이면서 super를 명시적으로 작성했을 경우에는 순서가 어떻게 되는지도 궁금합니다. (child의 생성자 내부 코드라인에 super가 존재해서 child의 생성자 호출이 우선인 것인지, 혹은 super가 명시적으로 없어도 child의 생성자 호출이 우선인것인지가 헷깔립니다ㅜ) class Parent { int x; Parent(int x) { // 1 this.x = x; } ... } class Child extends Parent { int x; Child(int x) { // 3 super(x + 1); this.x = x; } ... } ...

  • python
  • java
  • c
  • 정보처리기사
Sungyeop Choo 댓글 2 좋아요 0 조회수 172

혹시 강의 기간은 무제한으로 해주실수 있나요?

미해결

어쩌다보니 스프링부트

가끔 기본이 기억안날때 보러오고 싶은 강의인데 기간이 제한되어있어서 아쉬운거 같아요. 기간을 무제한으로 그게 무리라면 기간을 좀 길게 만들어 주실수 있을까여?

  • java
  • spring
  • spring-boot
  • 객체지향
  • servlet
서준호 댓글 1 좋아요 0 조회수 146

파이썬 예외처리

해결됨

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

예외처리 문서에 예외 처리 블록의 역할 부분에서 출력값이 5.0인데 왜 5가아니고 5.0인가요?

  • python
  • java
  • c
  • 정보처리기사
살려주세요 댓글 2 좋아요 0 조회수 105

24년 1회 코드해석 문제 - 20:25

해결됨

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

"It is 8"; 여기서 8도 결국 문자인데 아스키코드로 변환하면 몇 번인지 알아야 하지 않나요 ??? 계산식에서 isdigit 매서드로 숫자로 변경이 되어도 (p[i] - '0' + 3)%10 + '0' 이렇게 문자가 섞여서 계산을 해야 답을 구할 수 있지 않나요 ?

  • python
  • java
  • c
  • 정보처리기사
sr1094 댓글 2 좋아요 0 조회수 137

기출 23년 2회 첫번째 문제 (5:55) 질문있습니다.

해결됨

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

해당 문제의 해설을 보기 전에 i==4 ? n[0] : n[i+1] 과 같은 형태로 답을 작성했는데, 실제 시험에서 이렇게 작성한 경우 답으로 인정될까요?? 혹시 알려주신 답처럼 n[(i+1)%5] 과 같은, 시험에서 답으로 인정되는 형태가 있는지 아니면 출력값만 맞으면 답으로 인정되는지 궁금합니다!

  • python
  • java
  • c
  • 정보처리기사
Sungyeop Choo 댓글 2 좋아요 0 조회수 96

15분대 평균을 구해보는 함수 예시에 대한 질문

해결됨

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

sum += arr[i] 가 누적이 아니기 때문에 1부터 5까지 더하는 것의 평균을 구하게 된다는 것은 이해했습니다! 다들 헷갈리게 되는 부분이 누적이 되는가 안 되는가 때문인 거 같은데, 그럼 만약 누적으로 만들려면 어떻게 함수를 적어야 하는지 궁금합니다!

  • python
  • java
  • c
  • 정보처리기사
댓글 2 좋아요 0 조회수 77

8:38 업캐스팅 질문

해결됨

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

헷갈려서 여쭈어보려고 합니다 ㅠㅠ 즉, 업캐스팅 형식에서 자식에 기본생성자가 없으면 부모의 기본생성자를 먼저 호출하는 것이고 5:28 문제처럼 자식의 기본생성자가 있을 경우에는 부모의 기본생성자를 호출하지 않는건가요?

  • python
  • java
  • c
  • 정보처리기사
hgn1719 댓글 2 좋아요 0 조회수 83

스프링 sql오류

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

insert부분이랑 select부분에 저렇게 네모로 표시가 되고 오류가 떠서 웹에 사용자를 등록하면 서버 오류라고 뜨네용 ㅠㅠ

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
성장하자 댓글 4 좋아요 1 조회수 176

수업내용의문

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

안녕하세요 [CSS 09-2-3] 폰트 - 폰트와 크로스브라우징 강의 마지막에 다음강의에 안내된 그림,차트 모달 관련 강의가 없습니다. 섹션 09 => [JS 09-1-1] 수업내용이 [ CSS 09-1-1] 과 같습니다. 중복업로드된것이 아닌지요 ?

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
Lia 댓글 2 좋아요 0 조회수 98

기출문제 vs 이론공부 질문드립니다!

해결됨

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

선생님 강의 잘 보고있습니다. 감사합니다. 기출문제 강의는 2022년 3회~2024 3회 까지 있던데 , 2022년 3회 이전에는 기출 유형이 바뀌었다던가하는.. 특별한 이유가 있을까요? 기출문제를 다 풀고난뒤 이론공부를 할까 2022년 3회 이전의 기출문제 더 풀어볼까 고민입니다..

  • python
  • java
  • c
  • 정보처리기사
lunis94 댓글 2 좋아요 0 조회수 184

색션1 예제 코드 질문드립니다.

해결됨

Next.js 까보기: "쓸 줄 아는 개발자"에서 "알고 쓰는 개발자"로

안녕하세요, Next.js 라우팅은 어떻게 구현 했을까? 색션에서 예제코드 주소를 알 수 있을까요?

  • react
  • typescript
  • next.js
dgh12 댓글 1 좋아요 0 조회수 224

H2 사용 시 ddl-auto update 설정하고 age 컬럼 alter 쿼리 발생 안 할 때

미해결

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

평소 같으면 그냥 업무할 때의 개발 환경과 동일하게 설정해서 할텐데... 무슨 바람인지.. 이번엔 그냥 영한쌤 강의 보면서 그대로 따라해야지 하고 별생각 없이 강의를 듣던 중... ddl-auto create, create-drop까지 무난했음.. ddl update로 하고 id , name 컬럼 생성 create문 정상 여기까지도 무난...ㅎ 그러나 대망의 age 컬럼 추가하려고 하니 ?? alter문 왜 안 날라감? 했습니다... 이것 저것하다가 해결되서 공유합니다..ㅎ 영한 쌤이 실제 사용중인 H2 버전이랑 의존성 추가할 때 버전 맞추라고 하셨는데 Hibernate 버전은 말씀이 없으셨습니다.. 그래서 H2 버전이 2.3.232 사용중이기 때문에 pom.xml 설정 중 hibernate 버전 6.4.4.Final 로 변경하고 모든 import jakarta로 변경하니 잘되네요 (JDK21 사용) ``` <!-- pom.xml --> <!-- hibernate --> <dependency> <groupId>org.hibernate.orm</groupId> <artifactId>hibernate-core</artifactId> <version> 6.4.4.Final </version> </dependency> <!-- Jakarta Persistence API --> <dependency> <groupId>jakarta.persistence</groupId> <artifactId>jakarta.persistence-api</artifactId> <version>3.1.0</version> </dependency> ``` 이후 모든 import문 jakarta로 변경 Maven Refresh

  • java
  • jpa
fado 댓글 1 좋아요 0 조회수 179

챕터9 문제와 풀이2 이렇게 메서드 사용해서 이렇게 풀어도 괜찮은건가요..?

미해결

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

package method.ex; import java.util.Scanner; public class MethodEx4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int balance = 0; while (true) { printMenu(); int option = getMenuOption(scanner); balance = processOption(option, balance, scanner); if (option == 4) { break; } } } public static int getMenuOption(Scanner scanner) { System.out.print("선택: "); return scanner.nextInt(); } public static int processOption(int option, int balance, Scanner scanner) { if (option == 1) { return deposit(balance, scanner); } else if (option == 2) { return withdraw(balance, scanner); } else if (option == 3) { showBalance(balance); } else if (option == 4) { printFinish(); } else { printError(); } return balance; } public static void printMenu() { System.out.println("---------------------------------"); System.out.println("1.입금 | 2.출금 | 3.잔액 확인 | 4.종료"); System.out.println("---------------------------------"); } public static void printFinish() { System.out.println("시스템을 종료합니다."); } public static void printError() { System.out.println("올바른 선택이 아닙니다. 다시 선택해주세요."); } public static int deposit(int balance, Scanner scanner) { System.out.print("입금액을 입력하세요: "); int deposit = scanner.nextInt(); balance += deposit; System.out.println(deposit + "원을 입금하였습니다. 현재 잔액: " + balance); return balance; } public static int withdraw(int balance, Scanner scanner) { System.out.print("출금액을 입력하세요: "); int withdraw = scanner.nextInt(); if (balance >= withdraw) { balance -= withdraw; System.out.println(withdraw + "원을 출금하였습니다. 현재 잔액: " + balance); } else { System.out.println(withdraw + "원을 출금하려 했으나 잔액이 부족합니다."); } return balance; } public static void showBalance(int balance) { System.out.println("현재 잔액: " + balance + "원"); } }

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

2:58 질문 있습니다.

해결됨

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

안녕하세요. 궁금한 게 있어서 질문 남깁니다. 구조체를 선언하는 방식에서 변수명을 함께 선언할 때는 구조체 명이 필요가 없는건가요? 강의 설명에는 struct 구조체명 { 내용 } 변수명; 이라고 나와있지만 예시에서는 sturct 만 작성했습니다. 구조체명을 써도 상관이 없는 선택사항인건지, 아니면 아예 필요가 없는건지가 궁금합니다. 만약에 사용해도 된다면, person1.age에 접근할 때 어떤식으로 접근해야 하는지가 궁금합니다. 답변 기다리겠습니다. 감사합니다.

  • python
  • java
  • c
  • 정보처리기사
문수민 댓글 2 좋아요 0 조회수 96

ExecutorService close() 메소드 동작 설명 오류

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] ExecutorService 우아한 종료 - 구현 01:07 close() 메소드 설명 부분에 " shutdown() 을 호출하고, 하루를 기다려도 작업이 완료되지 않으면 shutdownNow() 를 호출한다." 에 오류가 있어 보입니다. [내용 정정] " shutdown() 을 호출하고, 작업이 완료될 때까지 무한정 반복대기 한다. 인터럽트가 발생하면 shutdownNow() 를 호출한다." 로 변경해야 하지 않나요? [근거] Eclipse Temurin-21.0.4+7 (JDK 21) 버전 코드 원문 public interface ExecutorService implements Executor, AutoClosable { // .. @Override default void close() { boolean terminated = isTerminated(); if (!terminated) { shutdown(); boolean interrupted = false; // 작업 미완료시 재시도 while (!terminated) { try { // 하루간 작업 종료 대기, 작업 미완료시 `false` 반환 terminated = awaitTermination(1L, TimeUnit.DAYS); } catch (InterruptedException e) { if (!interrupted) { shutdownNow(); interrupted = true; } } } if (interrupted) { Thread.currentThread().interrupt(); } } } } 1일이 지났다고 해서 interrupt() 를 호출하지 않고 재시도 하는 것으로 보입니다. [증명 코드] MyExecutor 로 close() 메소드 대기 시간을 1일 -> 1초로 조정하여 오버라이드합니다. 10초간 대기하는 Task 를 실행시킵니다. class ShutdownTest { record CallableSleepTask( String name, long sleepMs ) implements Callable<Long> { @Override public Long call() throws Exception { sleep(this.sleepMs); return this.sleepMs; } } static class MyExecutor extends ThreadPoolExecutor { public MyExecutor() { super(1, 1, 0, TimeUnit.SECONDS, new LinkedBlockingQueue<>()); } @Override public void close() { boolean terminated = isTerminated(); if (!terminated) { shutdown(); boolean interrupted = false; while (!terminated) { try { // 종료 대기 시간 1초로 조정 terminated = awaitTermination(1L, TimeUnit.SECONDS); } catch (InterruptedException e) { if (!interrupted) { shutdownNow(); interrupted = true; } } } if (interrupted) { Thread.currentThread().interrupt(); } } } } @DisplayName("Should wait infinitely when .close()") @Test void executorServiceCloseTest() { // given try (ExecutorService myExecutor = new MyExecutor()) { log("작업 시작"); CallableSleepTask sleepTask = new CallableSleepTask("test", 10_000L); myExecutor.submit(sleepTask); // 10 초간 테스크 실행 log("작업 진행중.. close 대기"); // 기다리지 않고 .close() 자동 호출 } } } 실행 결과 18:38:39.524 [ main] 작업 시작 18:38:39.527 [ main] 작업 진행중.. close 대기 (약 10초 대기 후 종료) Process finished with exit code 0 테스크 종료를 위해 10초 대기가 이뤄졌습니다. close 가 조정된 대기시간인 1초 뒤에 인터럽트를 발생시켰다면 인터럽트 로그가 남았을 것이고, shutdownNow()가 호출됐다면 10초 대기없이 즉시 종료되었을 것입니다. 따라서 정정이 필요해보여요. close 메소드는 " shutdown() 을 호출하고, 작업 완료시까지 무한정 반복대기 한다. 인터럽트가 발생하면 shutdownNow() 를 호출한다."

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
milkcoke 댓글 3 좋아요 0 조회수 239

강의 인덱스 접근 관련 문의드립니다.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요! 강사님 늘 강의 잘 듣고 있습니다. 다름이 아니고 아래 사항에 대해 궁금한 부분이 있는데요. (아래 강의 20:16 시점입니다) https://inf.run/1668e secondary index -> clustered index로 limit 개수만큼 접근해주신다고 설명해주셨는데요 ! where board_id = 1만 조건이 있어서 이미 어떤 row인지 세컨더리 인덱스에서 판단이 가능할 것 같은데, 클러스터 인덱스로 접근하게 되는 이유가 어떻게 되는걸까요? 만약 where board_id = 1 AND writer_id = 1 이 있다면 writer도 검증이 필요하기 때문에, 클러스터 인덱스 까지 가는 부분은 이해되기는 합니다만 board_id만 조건이 걸린 상태에서 클러스터 인덱스도 간다는 부분을 보고 이해가 잘 안되어서 문의드립니다 .. !

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
자기개발하고싶어요 댓글 2 좋아요 0 조회수 192

24시간 이내의 최신글 API 설계 관련 질문

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

쿠케님 안녕하세요! 그간 안녕하셨는지요. 몇 주 놀다가 다시 반성하고 각성 모드로 강의 시청 하고 있습니다. Redis에 24시간 이내의 최신글을 저장하는거 까지는 이해했습니다! 그렇다면 레디스에 저장한 최신글은 프론트에서 어떻게 활용할수 있는 걸까요? 제가 생각한 아래 흐름이 맞는지 검토 부탁드립니다! 서버 게시판 종류마다 24시간 이내의 최신글을 레디스에 저장 게시판 종류와 데이터 개수를 request로 받는 최신글 API를 별도로 만듬 프론트 사이트의 메인 페이지 일부 화면에 특정 게시판의 최신글을 뿌려주는 요구사항이 존재 서버의 최신글 API를 호출하여 각 게시판 종류마다 최신글을 뿌려줌 감사합니다~!

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
soap 댓글 2 좋아요 0 조회수 156

인기 태그

인프런 TOP Writers

주간 인기글