묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 2편
iterator.next() 질문드립니다 !
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]4:47초에서 iterator.next()가 '현재 데이터를 반환하고 다음으로 이동'한다고 하셨고, 그것이 '다음 데이터를 반환한다' 라는 말씀이라 하셨습니다.제가 이해가 잘 안되는데, 현재 데이터를 반환하고 다음으로 이동하는 것은 리턴값이 현재 값 이라는 것일테고다음 데이터를 반환하는 것은 리턴값이 다음 데이터라는 말일텐데, 혹시 어느 것이 맞을까요 ..?
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
우주선 회전
섹션5 이동에서 우주선을 회전시키는데 우주선이 대각선을 바라볼때 키보드를 떼면 스냅이 걸린 것 처럼 상하좌우 중 하나로 움직입니다. 그러니까 대각선으로 멈추질 못하고 위나 아래 왼쪽이나 오른쪽으로만 멈춥니다. 뭐가 문제일까요? 코드는 똑같습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
scr이 사라져요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.src가 안떠요 src복사해서 옮겨도 조금 있다가 사라져요 왜 그럴까요
-
미해결스프링 핵심 원리 - 기본편
그런데 생성자를 통해서 의존관계를 없애주는게 어떤 의미가 있나요?
appConfig 에서 할일이 더 생기는 것 아닌가요?ServiceImpl을 건들지 않아도 되게 되었지만이제는 appConfig를 건들여야 하는 것 아닌가요?잘 모르겠네요 ㅠ 강좌. 관심사의 분리편
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
DataOutputStream 의 writeUTF도 블로킹 메서드 인가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]복습 중에 질문이 생겼습니다 콘솔 입력 / DataInputStream의 readUTF는 입력을 받은 데이터로 호출한 쓰레드에서 작업을 수행하기 때문에 블로킹 메서드 인 것이 이해가 쉽게 됩니다. 반면 DataOutputStream 의 writeUTF() 메서드는 반환 타입도 void이고(호출한 쓰레드에서 뭘 처리하지 않음), 서버에 메세지를 보내기만 하면 되기 때문에 블로킹 메서드가 아니라고 생각했는데, 막상 검색해보니 블로킹 메서드라고 나와서 이해가 잘 안됩니다.블로킹 메서드가 맞는 걸까요? 맞다면 왜 블로킹 메서드로 설계된 걸까요
-
미해결김영한의 실전 자바 - 기본편
PayStore 예제문제 구체적 설명
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]예제문제에 작성한 PayStore 코드에서 1. public abstract class PayStore 에서 abstract를 사용한 구체적인 이유다른질문답변을 봤는데도 이해가 잘 안갑니다 더 구체적으로 설명해주세요예시답변>정적 메서드(static method) 사용 이유:static 메서드는 클래스 레벨에서 작동하며, 객체의 인스턴스를 생성하지 않고도 사용할 수 있습니다. 이는 공통적으로 사용되는 유틸리티 메서드나 인스턴스 상태와 무관하게 작동하는 메서드에 적합합니다. PayStore의 경우 결제 수단을 찾는 공통 기능을 제공하며, 인스턴스 상태와 무관하므로 static으로 선언하는 것이 적절합니다.2. public static Pay findPay(String option) 에서 static을 사용한 구체적인 이유을 알고싶습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
return; 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 메서드 반환 타입 강의 중 MethodReturn2 내용에서 똑같이 한 거 같은데 missing return value 오류 뜹니다. 메서드 [71~73] 강의를 참고하여 매소드에 각 출력문장마다 return age;를 넣어봤더니 정상실행이 됩니다.질문 1.강사님께서 하신 내용 그대로 따라한 거 같은데, 오류가 난 이유가 궁금합니다.(인텔리제이 강사님과 같은 버전으로 다운 안돼서 최신버전이긴 한데 이게 원인인지..) 질문 2.위 첫번째 사진(강의와 같은 코딩)을 예시로 인텔리제이가 return; 을 return age;로 (1번 사진이 2번 사진처럼)알아서 인식하여 모든 메서드에 return; 으로만 작성해도 되는건지 궁금합니다. (현재 메서드 정의 강의 중 [메서드 2] 와 같이 반환타입 없는 경우만 return;으로 사용(생략도 가능)으로 이해한 상태.)ex)매개변수와 반환타입 있을 경우-> return 매개변수;매개변수와 반환타입 없을 경우-> return;(생략 가능)
-
미해결김영한의 실전 자바 - 중급 2편
자료구조&알고리즘 강의
코딩인터뷰용 자료구조&알고리즘 강의 만들어주시면 안되나요. 김영한님 한테 전달좀 해주세요ㅜㅜ
-
해결됨김영한의 실전 자바 - 중급 1편
xxxValue() 와 parseXxx()
[질문 내용]intValue()처럼 래퍼클래스를 기본형으로 반환하는 것과 parseInt()도 기본형으로 반환하는 것과 무슨 차이가 있는지 구체적으로 알려주세요.
-
해결됨김영한의 실전 자바 - 중급 1편
findValue 메소드 리턴값
[질문 내용]래퍼클래스 - 기본형의 한계 2 영상에서 findValue 메소드의 코드를 보면 if 조건문으로 리턴값이 myInteger라고 했습니다. 그런데 if 조건문 안에 myInteger.getValue()를 통해 value의 값을 뽑아서 그렇게 된다면 int타입의 값을 같은 int 타입인 target과 비교를 할 수가 있죠. 그런데 출력값을 확인해보면 -1, 0, 1 이 나오는 것을 확인할 수 가 있는데 리턴값도 똑같이 myInteger.getValue()로 나와야 되는거 아닌가요? return myInteger; 라고 했을 때 그냥 myInteger는 참조값이 반환될거라고 예상이 되는데 어떻게 출력이 -1, 0, 1이 나오는지 너무 궁금하네요.
-
미해결김영한의 실전 자바 - 중급 2편
hashIndex함수의 매개변수가 E가 아닌 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 제네릭 Set 4 부분 강의에서 질문드리고 싶은 점이 있어 여쭤봅니다. private int hashIndex(Object value){ return Math.abs(value.hashCode())%capacity;}이 부분에서 매개변수가 E value가 아닌 Object 로 들어오는 이유는 타입 이레이저 때문일까요 ?
-
미해결김영한의 실전 자바 - 기본편
모든 강의를 수강했지만 수강진도율이 98.98%에서 오르지 않습니다
[질문 내용]모든 강의를 수강했지만 수강진도율이 98.98%에서 오르지 않습니다.수강증명서를 받고 싶지만 98.98%에서 오르지 않아 수강증을 못 받고 있습니다.하지만 모든 강의 수강완료라고 떠 있습니다.
-
해결됨스프링 핵심 원리 - 기본편
@Qualifier를 사용한 조회시 기본 매칭은 무시되는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. @Qualifier 관련해서 혼자 몇 가지 테스트를 해보니 다음과 같이 진행이 되더라고요." @Qualifier를 사용해 검색하도록 지정하면, (qualifier로 찾지 못하더라도) 기존에 사용하던 type 매칭으로는 검색하지 않는다. "코드 쳐보면서 위와 같은 사실은 알았는데, 왜 위처럼 되도록 설계했는지 그 의도는 모르겠어서 질문드립니다.질문글 남기면서 든 생각은 "Qualifier라는 더 자세한 검색 방법을 지정해주었으니, 이보다 덜 자세한 다른 것은 무시? 또는 오버라이딩? 한다. " <- 이렇게 되는 것인가 싶네요.혹시 아시는 분 있으면 답변 부탁드립니다.
-
해결됨김영한의 실전 자바 - 중급 2편
O(1)의 값에 대한 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 MyheshSetV0에 클래스에서(밑의 코드는 중략) 이 클래스의 인스턴스 변수인 int[] elementData 배열은 기본형이기에 모두 0으로 초기화 되어지는데이러한 메인 클래스에서 첫 set.addO(1)이 되는 부분이 이해가 잘 안되네요 ㅜㅜ결국 기본형 배열에 0으로 초기화가 되어있으니 끝까지 비교가 되어 처음 add 역시 O(n)이 될 것 같아서 Integer 제너릭 타입은 널이 들어가서 for-each문 배열을 안 돌지만 int형은 0으로 n번째만큼 돌지 않을까? 라는 생각을 하고 있습니다 혹시 가르쳐 주실 수 있을까요(요약문) int[] elementData는 기본형으로 0으로 전부 초기화 contains의 0값을 data에 다 넣어서 == 비교처리가 됨으로 O(n)처리가 되지 않을지 질문( 추후 Integer배열(null 초기화)로 가정하면 될지)
-
미해결김영한의 실전 자바 - 중급 1편
문득 영한님의 키세팅이 궁금해서 여쭤봅니다
[질문 내용]저도 mac os를 사용중인데 이번 문제 같이 String값을 대문자로 써야할때면 기본키가 Caps Lock키를 꾹 누르는거라 시간도 오래걸리고 사용하기 어려운데 다른 키로 사용하시는 걸까요? 뭔가 금방금방 바꾸시는거 같아서요
-
미해결김영한의 실전 자바 - 기본편
추상 클래스와 인터페이스 활용 영역에 대한 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]강의를 통해 제가 최종적으로 이해한바로는,인터페이스의 경우는 다형성을 위해서 제약사항을 좀더 추가 된것과 더불어클라이언트 코드 입장에서는 내부 구현 클래스를 굳이 알 필요가 없고 확장성에 용이 하다는점.추상클래스는 객체 생성을 방지와 더불어, 자식 클래스에서 추상클래스 내의 메소드를 사용할 수 있게 한것으로 이해했는데요. 여기서 궁금한게 있습니다.보통 실무에서는 공통 모듈이나 공통 적인 유틸성 함수들을 구현해서 사용하는 경우가 많은데요. 이런 경우는 추상클래스내의 추상메소도를 통해 구현해서 활용하는것이 더 효율적인지? 아니면, 꼭 추상클래스로 안해도 되는지? 추상클래스의 적절한 활용 범위와 더불어 런타임시(메모리 상에서) 처리 성능에 있어서 어느정도의 이점이 있는지 궁금합니다.
-
미해결멀티패러다임 프로그래밍 1편: 반복자 패턴 & LISP (with TypeScript, Clojure, Kotlin)
컴파일 에러
안녕하세요, 강의 잘 듣구 있습니다.다름이 아니라 reduce 가 포함된 파일을 컴파일하면 그림과 같은 에러가 납니다. 에러 해결을 위해서 아래 두 가지 방법을 시도해보았습니다. 에러메세지처럼 reduce 함수의 정의에 A extends Acc 로 명시이 해결방법은 옳지 않은 것 같다고 생각했습니다. (A -> number, Acc -> string 인 경우)else 문에 있는 baseReduce 를 Acc 타입으로 강제 캐스팅책과 강의 코드 모두 살펴봐도 크게 다른 점이 없는 것 같아 질문드립니다. 감사합니다!(제가 작성한 코드 첨부드립니다) function baseReduce<A, Acc>( f: (acc: Acc, a: A) => Acc, acc: Acc, iterator: Iterator<A> ): Acc { while (true) { const { done, value: a } = iterator.next(); if (done) { break; } acc = f(acc, a); } return acc; } function reduce<A, Acc>(f: (a: A, b: A) => Acc, iterable: Iterable<A>): Acc; function reduce<A, Acc>( f: (acc: Acc, a: A) => Acc, acc: Acc, iterable: Iterable<A> ): Acc; function reduce<A, Acc>( f: (acc: Acc | A, a: A) => Acc, accOrIterable: Acc | Iterable<A>, iterable?: Iterable<A> ): Acc { if (iterable === undefined) { iterable = accOrIterable as Iterable<A>; const iterator = iterable[Symbol.iterator](); const { done, value: acc } = iterator.next(); if (done) { throw new TypeError('reduce of empty iterable with no initial value'); } return baseReduce(f, acc, iterator) as Acc; } else { // 왜 타입변환을 강제해야하는가..?? return baseReduce( f, accOrIterable as Acc, iterable[Symbol.iterator]() ) as Acc; } }
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
interrupt 에 대하여
안녕하세요 강사님! 간단한 질문이 있습니다!!shutdown 이나 shutdownNow 모두 작업중이 스레드에게 Interrupt 를 거니까, 100초 짜리 작업이 interrupt 체킹이 안되어있는 스레드였다면(sleep 함수가 아니라 실제로 작업이 100초짜리 걸려서, Thread.isInterrupted 같은걸로 체크가 없다면) (sleep 은 interrupt 를 잡음)shutdownNow 에도 동작을 안하나요?
-
미해결김영한의 실전 자바 - 중급 2편
제네릭 연습문제 1번
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. isEmpty() 메서드 관련해서 제네릭은 실행 시점에 타입이 정해지는데 단순 null 인지만 확인하는것이 아닌 기본형,참조형 각각의 타입별로 비어있는지를 구현해야 하지 않나 싶습니다. 아래와 같이 test를 해보면 잘못된 값이 나옵니다. public class ContainerTest { public static void main(String[] args) { Container<Integer> integerContainer = new Container<>(); System.out.println("빈값 확인1: " + integerContainer.isEmpty()); } }
-
미해결스프링 핵심 원리 - 기본편
AutoAppConfig의 스프링 빈 등록
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);AnnotationConfigApplicationContext 에 파라미터로 넘긴 값은 스프링 빈으로 등록 -> 그래서 AppConfig 도 스프링 빈이 됨 @Configuration 에는 @Component 애노테이션이 붙어있기 때문에 @Configuration 이 붙어있는 설정 정보AppConfig는 컴포넌트 스캔의 대상임>> 그럼 여기서 컴포넌트스캔, ApplicationContext의 인자 둘 다 AppConfig를 스프링 빈으로 등록할 수 있는 방법인건가요? 둘 중 한 가지 방법으로 랜덤하게 등록이 되는건지, 아니면 결국 같은 맥락을 이야기하는건지 궁금합니다.