묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
재생속도 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]재생속도가 같은 강의여도 재생속도 최대치가 2배속에서 3배속, 3배속에서 2배속으로 자꾸 변경되던데 고정할 수 있는 방법이 있을까요?!
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
자바 프로그램 실행 강의 첫부분인데 no usage 라는게 떴어요..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]그냥 클래스 만든것밖에 없는데 저게 안사라지네요 뭘까요ㅜ저 텍스트를 클릭해서 환경설정을 누르면 아래와 같이 나옵니다ㅜㅜ
-
미해결김영한의 실전 자바 - 중급 1편
섹션 4. Lotto 문제 오름차순 정렬
안녕하세요. 섹션 4의 문제와 풀이2의 로또 번호 자동 생성기 관련 질문 드립니다.답안은 이해했고, 추가로 로또 번호를 오름차순으로 정렬하면 좋겠다는 생각이 들었습니다. 그런데 오류가 뜨면서 해결이 되지 않아 질문 드립니다.(1) LottoGenerator 클래스 생성자의 반환값에 넣었을 경우 안되는 이유// 로또 번호 생성자 public int[] generate() { lottoNumbers = new int[6]; count = 0; while (count < 6) { // 1. 1부터 45 사이의 숫자 생성 int number = random.nextInt(45) + 1; // 2. 중복되지 않은 경우에만 배열에 추가 -> 3. 메서드 추가 if (isUnique(number)) { lottoNumbers[count] = number; count++; // while문은 변수 증가 시켜줘야 한다 } } // 4. 로또 번호 반환 return Arrays.sort(lottoNumbers); }(2) LottoGeneratarMain 클래스의 배열에서 정렬할 경우 안되는 이유public static void main(String[] args) { LottoGenerator generatorObj = new LottoGenerator(); int[] lottoNumbers = Arrays.sort(generatorObj.generate()); 그렇다면 오름차순으로 정렬하기 위해서 어떻게 해야 하나요?
-
미해결스프링 핵심 원리 - 기본편
섹션 5 getMemberRepository() 질문
섹션5의 @Configuration과 싱들톤 부분에서 강사님은 getMemberRepository()를 가져와서 쓰시는데 저는 오류가 나고 보니까 생성이 안되어있습니다. 그래서 이전에 강의에서 제가 빼먹었나 하고 찾아봤는데 이전 강의에서도 만드시는 부분은 없어서 여쭤봅니다.
-
미해결김영한의 실전 자바 - 중급 2편
ObejctBox 질문
안녕하세요.ObjectBox를 활용하여 int와 String을 받는 과정에서 중복은 해결하였으나 잘못된 타입을 넣을 경우에 대한 예시 들었던 부분에서 질문입니다.integerBox.set("문자100"); Integer result = (Integer)integerBox.get();이 부분에서 문의드릴게 실제 컴파일을 하기 전까지는 ide에서 에러라고 인식을 못하던데 왜 그런걸까요 ? get()을 통해 리턴되는게 object 타입이어도 실제 객체가 Integer 객체가 아니면 저렇게 (Integer)로 캐스트 하는 것 부터가 문제가 되야 할 거 같아서요. 감사합니다.
-
미해결스프링 핵심 원리 - 기본편
객체 생성 후 의존관계 주입
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]객체 생성 후 의존관계 주입이라고 했는데,자동 의존관계 주입은 앞에서 말했듯이 다 생성자 주입으로 할 텐데 그러면 수동주입을 말해서 객체생성 후 의존관계 주입이라고 하는 건가요?
-
미해결김영한의 실전 자바 - 기본편
2. 기본형과 참조형 수업자료 오타있어서 제보합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]2. 기본형과 참조형 수업자료 오타있어서 제보합니다.2. 기본형과 참조형의 pdf 파일 기준 p.5에 두 번째 실행결과에 a=10, b=20이라고 되어있는데 둘의 값이 바뀌어야 해서 제보드립니다.감사합니다.
-
미해결김영한의 실전 자바 - 기본편
메서드의 메모리 상 위치
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상속 강의를 듣던 중 궁금증이 생겨 남깁니다.상속 관계에 있는 두 클래스가 있을 때, 자식 클래스의 인스턴스를 생성하면 부모 클래스의 인스턴스가 같이 메모리 상에 생성된다고 하셨습니다. 그런데 이전에 자바 메모리 구조 강의에서는 메서드는 Heap 영역이 아닌 클래스 영역에 존재하는 것이고 메서드 호출 시 클래스 영역으로 찾아가 메서드를 호출한다고 이해했습니다. 상속 관계에 있는 두 클래스의 메서드가 메모리 상에서 어떤 방식으로 호출되는 것인지 궁금합니다.
-
미해결김영한의 실전 자바 - 중급 1편
Try-with-resources 질문
안녕하세요. Try-with-resource 질문 있습니다.강의에서는 disconnect() 메서드에서 예외가 발생하지 않도록 하여서 @Override close()에서 throws Exception 구문을 지웠는데요.만약에 disconnect()메서드에서 예외가 발생하도록 작성했다면 close() throws Exception으로 예외를 던졌을 때 try-with-resource 쪽(호출한 쪽)에서는 sendMessage() 메서드에서 throws Exception으로 처리를 따로 해야 하나 ? 그리고 직접 예외를 잡으려면 어떻게 해야 하나요 ? 왠지 try 구문 안에서 발생한 거니 자연스레 catch 구문으로 넘어갈거 같기도 해서요. 확인 부탁드립니다.@Override public void close() throws Exception { System.out.println("NetworkClientV5.cloase"); disconnect(); //만약 예외 발생시, try-catch로 여기서 직접 잡아주지 않으면 }public void sendMessage(String data){ String address = "http://example.com"; try (NetworkClientV5 client = new NetworkClientV5(address)){ client.initError(data); client.connect(); client.send(data); //AutoClosable 이니 여기서 나갈 때 예외가 발생 -> 이럴 떈 sendMessage 쪽에서 sendMessage(String data) throws Exception 처리 해야 하나 ? 만약 그 에러를 직접 잡으려고 try catch 구문을 쓰려면 어떻게 해야 하나 } catch(Exception e){ System.out.println("예외 확인 = " + e.getMessage()); throw e; }
-
미해결김영한의 실전 자바 - 기본편
Caw -> Cow 오타 안 고치신 건가요??
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]PDF 교안 최신버전(20240411 ver)으로 다시 확인해봤는데 Caw 오타 그대로인거 같아서 문의드립니다.
-
해결됨김영한의 실전 자바 - 중급 2편
문제와풀이1 문제2번 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.for (int i = 0; i < numbers.size(); i++) { System.out.print(numbers.get(i)); if(i<numbers.size()-1){ System.out.print(", "); } }i < number.size()-1 쪽이 제대로 이해가 안되는거같아서 질문합니다.정수 입력을 1,2,3 입력했으면 numbers.size() = 3i값 = 0 , numbers.size =3i값 = 1 , numbers.size = 3마지막 반복인 i값 = 2 , numbers.size = 3 을 할때는2<3-1 은 맞지않으니 마지막 3뒤에 " , " 출력안됨제가 이해한게 맞을까요 ?
-
해결됨김영한의 실전 자바 - 중급 1편
자바 복습 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 질문이 생겨서 글을 남깁니다.저가 이것저것(아픔 + 번아웃..등)이 있어서 한 2주 정도 인가요? 코딩하는데 거의 손을 놓고 있엇습니다.(해 봐야 30분에서 2시간이하 정확히는 기억이 안남 ,아니면 아에 안함 )그리고 나서 날짜와 시간 사이에서 너무 막혀서(캘린더 는 정말 싫네요.. 하신 분들 존경 합니다.)에라이 전에 있던 문제 풀이나 복습 해보자 하고 하였는데.. String챕터 문제 풀이 부터 막히더라고요.(문제와 풀이만 보고서여.pdf파일에 있는 내용 참조 안함)그래서 다시 보고 있긴 한데, 시간이 지나고 나서( ex)예외처리까지 챕터 까지했을때 - 7월달까지 중급2편을 끝내고 싶었는데.. 역시 계획 대로는 안되네요...), 저가 이것들을 할 수 있을까 하는 의문이 들더라고요.이럴 때에는 어떻게 해야 하는지 궁금합니다.지금은 저가 중요하다고 생각하는 것을 손코딩 + 동영상 보면서 코드 를 지우고 다시 침, 이렇게 하고 있긴 한데 더욱 좋은 방법이 있을까요?아니면 지금 이대로 계속 하는 게 맞는 방법인가요? 답변 부탁드립니다.
-
해결됨김영한의 실전 자바 - 중급 1편
변수에 final 붙인 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]NetworkClient 클래스, SendException 클래스,ConnectException 클래스들의 필드를 캡슐화로 외부에서 상태 변경을 막았는데 왜 final로 정의한 이유가 궁금합니다.
-
해결됨김영한의 실전 자바 - 중급 2편
list.sort() vs Collections.sort()
강의 내용중 Comparable, Comparator 파트에서 List 데이터를 정렬할 때 Collections.sort() 와 list.sort() 중 list.sort를 권장하는 이유를 조금 더 자세히 알고 싶습니다.이 부분에서 list.sort()를 사용하는 게 더 객체지향적인 코드라고 말씀해주셨는데 List 인터페이스에 정의된 sort() 메서드를 사용하는 게 Collections class 에 정의된 static 메서드보다 어떤 측면에서 더 객체지향적인지 느낌은 오는데 이것 때문이다 라고 정리가 잘 안돼서 질문 드립니다. Collections 의 코드를 봤을 때 내부에서 Collections.sort(list, comparator)를 보게되면 list.sort(comparator) 메서드를 사용하고 있는데 그러면 굳이 Collections.sort()를 사용해야 할 케이스가 따로 있어서 정의한 것인지 어떤 경우에 사용하는지 궁금합니다. public static <T> void sort(List<T> list, Comparator<? super T> c) { list.sort(c); }
-
해결됨스프링 핵심 원리 - 기본편
섹션 3 질문
섹션 3 에서 AppConfig를 이용하여 test 코드 수정하는 장면에서 이해가 안되는 부분이 있어서 질문드려요.Before each가 매 테스트가 실행되기전에 실행되는것 까지는 이해가 가는데 왜 appConfig를 이용하여 구현체 연결해줄때 before each가 사용되어야하는지 잘이해가안갑니다. 이 테스트를 할때 beforeEach를 굳이 사용하여야 하는 이유가있을까요? 제 생각에는 안쓰고 테스트가 여러개 있어도 상관없을거 같은데. 예시와 함께 설명해주시면 이해가 더 잘될 것 같습니다 :)감사합니다
-
해결됨스프링 핵심 원리 - 기본편
인터페이스 질문.
안녕하세요 지금 막 섹션 2강을 다들은 학생입니다.강의를 보면서 따라서 코딩을 치다보니 궁금한 점들이 생겨서 질문남깁니다.MemberSerive와 OrderService는 각각의 구현객체가 하나씩 밖에 없고 구현객체가 하나밖에 없을시에는 Impl 구현객체클래스에 impl을 붙인다고 하셨는데, 구현객체가 어차피 하나밖에 없을경우에는 굳이 Interface를 안만들고 구현객체 클래스만 만들어도 되는거 아닌가요?지금 Interface를 만든이유가 나중에 추후에 확장 혹은 수정이 있기때문에 저렇게 코드를 짜놓은건가요? 감사합니다
-
미해결김영한의 실전 자바 - 중급 1편
예외 처리 질문
안녕하세요.예외 처리 질문드립니다.checked exception을 잡을 때 catch 블럭에서 임의로 발생시킨 MyCheckedException이 아닌 RuntimeException을 잡으려고 하면 여기서 예외 처리를 못하니 throws로 예외를 다시 던져줘서 코드가 에러가 없었는데, unchecked exception을 잡을 때 똑같이 catch 블럭에서 발생된 MyUncheckedException이 아닌 다른 예외를 catch로 선언하고 나서 못 잡을 경우 밖으로 예외를 던지나 보려고 했는데 catch 에서 MyUncheckedException이 아닌 예외 중 어떤 건 에러가 안 나고 어떤 건 에러가 납니다.예를 들어 NullPointerExceptoin으로 잡으려고 하면 코드에 이상이 없고, MyCheckedException으로 잡으려고 하면 에러가 발생합니다. 어차피 둘 다 catch 블럭에서 처리할 수 없어서 밖으로 던질텐데 왜 이런 걸까요 ?public void callCatch(){ try{ client.call(); }catch(NullPointerException e){ System.out.println("예외처리, message = " + e.getMessage()); } System.out.println("정상 흐름"); }public void callCatch(){ try{ client.call(); }catch(MyCheckedException e){ System.out.println("예외처리, message = " + e.getMessage()); } System.out.println("정상 흐름"); }java: exception exception.basic.checked.MyCheckedException is never thrown in body of corresponding try statement
-
미해결김영한의 실전 자바 - 중급 1편
지역 클래스 지역 변수 캡쳐 질문
안녕하세요.자바의 설계상 동기화 등의 문제로 지역 클래스가 생성되 때 지역 변수의 값을 캡쳐하기 때문에 값을 변경하면 컴파일 에러가 난다는 설명에서 문의드릴 게 있습니다.설명해주신 예제로 확인하면 순서가 1.process() 호출 -> 스택 프레임 생성2. 해당 메서드 바디의 코드 실행3. LocalPrinter() 객체 생성인데, 여기서 3번 LocalPrinter() 객체가 생성이 될 때 지역 변수를 쓰는 게 있다면 그 지역 변수를 LocalPrinter() 객체 내부로 변수를 캡쳐해서 활용한다는 것이잖아요 ? 그러면 설명해주신 것과 같이 객체 생성 이후에 값을 변경하려고 하면 동기화 문제가 발생할 수 있어서 자바에서 그렇게 설계를 안했다는 건 이해를 하겠는데, 객체 생성 전에 값을 바꾸는 건 어떻게 이해를 해야 할까요 ? 생성 전에 값을 바꾸면 사실상 객체 생성 이후 캡쳐를 하더라도 바뀐 값으로 캡쳐를 하면 되니 동기화 문제가 전혀 없을 거 같아서요.캡쳐본 중 위에는 객체 생성(캡쳐) 이후 바꾸면 안되는 예시이고 동기화 등을 고려하였을 때 제가 궁금한 건 캡쳐 전의 값 변경이 왜 캡쳐에 영향을 주느냐는 겁니다. (아래 캡쳐본) public Printer process(int param){ int localVar = 1; class LocalPrinter implements Printer{ int value = 0; @Override public void print(){ System.out.println("value = " + value); System.out.println("local value = " + localVar); System.out.println("param = " + param); System.out.println("outInstance = " + outInstance); } } LocalPrinter printer = new LocalPrinter(); localVar = 10; // printer.print(); return printer; }public Printer process(int param){ int localVar = 1; localVar = 10; class LocalPrinter implements Printer{ int value = 0; @Override public void print(){ System.out.println("value = " + value); System.out.println("local value = " + localVar); System.out.println("param = " + param); System.out.println("outInstance = " + outInstance); } } LocalPrinter printer = new LocalPrinter(); //localVar = 10; // printer.print(); return printer; }
-
미해결김영한의 실전 자바 - 중급 1편
내부 클래스 질문이 있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요! 좋은 강의 감사합니다.공부하다가 궁금한 부분이 생겨서 질문 남깁니다.지역 클래스는 지역 변수와 마찬가지로 코드(메서드) 안에 작성해야 하는데 만약 메서드(지역 클래스 밖에 있는) process의 반환 타입을 지역 클래스로는 사용할 수 없는 건가요? 혼자 코드를 작성 해봤는데 컴파일 오류가 떠서 왜 그런건지 이유가 궁금합니다. 내부 클래스는 반환 타입으로 사용이 가능한데 지역 클래스는 안되는 이유가 궁금합니다. 감사합니다
-
미해결김영한의 실전 자바 - 기본편
객체지향 관련하여 질문드립니다.
안녕하세요. 저는 주니어 개발자 입니다. 취업을 위해 스프링 공부에만 급급하여 이해하지도 못한 채 넘어갔던 자바 기초 지식을 이제서야 강사님 강의를 통해 이해가 되는 것 같아 정말 감사드립니다. 현재 제가 있는 실무에서는 객체지향을 잘 사용하고 있지 않은 것 같고 부족하다고 생각되어 이번 강의를 계기로 객체지향 관련해서 더 공부하고 싶다는 생각이 들었습니다. 앞으로 강사님 로드맵 자바 (기초 > 중급 > 고급) -> 스프링 .. 이런식으로 차근차근 들을 예정인데 이 로드맵을 따라가면 더욱 객체지향을 이해할 수 있는지 아니면 따로 추가적으로 공부를 해야할지 궁금하여 질문드립니다. 감사합니다.