묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 2편
TreeSet으로 자동 변환
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================Set 정리 14:58에서데이터 개수가 8개 이상이 되면 TreeSet으로 바꿔서 equals를 수행한다는 말씀은,HashSet, LinkedListSet으로 선언하여도 자바가 탐색 시에만 자동으로 변경한다는 말인가요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
배열 최대 / 최소값 문제 풀다가 질문이 있습니다 .
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 선생님 잘 풀고 있는 와중에 궁금한 사항이 있어서 여쭤봅니다해당 아래쪽 저는 min = max = numbers[0]; for (int i = 0; i < n; i++) { if (numbers[i] < min) { min = numbers[i]; } if (numbers[i] > max) { max = numbers[i]; } }int i = 0 이라고 생각해서 작업하고 수행이 됏는데1로 하신 이유가 있을까요 ? 1로 해야하는 이유를 모르고 선생님이랑 다르니 생각이 멈추지 않아서 밤새 잠이 오지 않아 여쭤봅니다 ㅠ ㅠ
-
해결됨김영한의 실전 자바 - 중급 1편
열거형 문제풀이 2번 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 열거형 문제풀이2를 복습하는 도중에,문제풀이2 설명 에서 "참고 : HTTP 상태 코드는 200 ~ 299사이의 숫자를 성공으로 인정한다.(pdf-30page)" 라는 말이 있어서,스캐너로 205번을 쳤는데, "true"라는것이 안나와서 강사님 코드에서,1.메서를 하나추가,2.기존 메서드 내용을 좀 변경하였는데 이런 식으로 해도 되는지 알고 싶어서 코드를 올립니다.메인은 여러번 입력하기 위해서 while문 추가,HttpStatus 이넘 클래스는 isInputSuccess()라는 메서드 추가,및 findByCode에 if문에 or을 추가해서(마우스 블락진데) 200~299번 되게 만듬.이렇게 하였는데 괜찮으지요?추가예전에 문제풀이 할때는 안했더라고요.+ 오류나서, 밑에걸로 바꿈..추가2글을 다시 읽어 보니까 개소리(내가 요구사항을 잘못 이해 했구냐.. 라는 생각이 어제밤에 들던데..)인것 같은데. 글을 지우는 것은.. 아닌것 같아서.. 이렇게 남겨 놓습니다.
-
해결됨C개발자를 위한 최소한의 C++
생성자 궁금한거 있습니다
#include <iostream>using namespace std;class MyClass {public:MyClass(int a) : m(a) {cout << "base" << endl;}MyClass(const MyClass& rhs) : m(rhs.m) {cout << "copy" << endl;}~MyClass() {cout << "delete:" << m << endl;}void print() {std::cout << m << std::endl;}private:int m;};MyClass test(MyClass rhs){return rhs;}int main() {MyClass a = 10;MyClass b = MyClass(50);MyClass c = a;return 0;}결과로 base, base, copy, delete: 10, delete: 50, delete: 10이 출력됐습니다.[질문]MyClass a = 10;MyClass b = MyClass(50);이 둘의 차이가 무엇인가요? 특히 MyClass b = MyClass(50);의 base만 출력은 이해가 되지 않습니다.일단 임시객체를 만들었으니 base, 그리고 임시객체를 const MyClass& rhs의 인자로 넘겨줘서 copy, 그리고 다음줄로 넘어가면 쓸모없어진 임시객체 MyClass(50)이 삭제되서 delete 이렇게 3개가 출력될줄 알았는데 base만 출력돼서 이해가 되지 않습니다.. (이 부분은 찾아보니까 복사 엘리전이라고 하는데 맞나요?? 그래서 복사 생성자를 안쓴다는데 헷갈리네요 ㅠㅠ)그리고MyClass b = MyClass(50);MyClass c = a; 이 둘의 차이도 알고싶습니다.b,c 둘다 객체를 인자로 받고있습니다. 근데 b는 base를 출력하고 c는 copy를 출력합니다. 왜 b가 base를 출력하나요? 이와같은 복잡함을 덜기위해 explicit를 사용하는건가요?
-
미해결김영한의 실전 자바 - 중급 2편
add 부분 코드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이 코드는 LinkedList<Integer> bucket = new LinkedList - > buket = bukets[hashIndex] 이렇게 이어지는 코드인건가요 ..? bukets이라는 linkedlist의 배열을 만들고 bukets 1 bukets 2 하나 하나에 linkedlist를 넣는 과정인건 알겠는데 저 buket은 어떻게 나온 코드인지 모르겠어요 ㅠㅠ
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
continue;를 쓰는 조건문 for과 while의 차이를 알고싶습니다.(같은 방식인데 for이 출력이 안되는 이유)
반복문 안에 if문 continue를 걸어서 홀수만 출력 되도록 코드를 연습했습니다.. while문은 출력이 되었는데, for문은 같은 방식으로 하면 안되는 이유가 뭘까요..?Run창에서 따로 오류가 뜨진 않지만, 아무것도 출력이 되지 않습니다... package loop; public class LoopEx { public static void main(String[] args) { // while문 정상 출력 int i = 0; while(i<=10) { if ((i % 2) == 0) { i++; continue; } System.out.println("while = " + i); i++; } // for문 출력되지 않음 for(int j = 0; j < 10; j++) { if((j % 2)==0) { j++; continue; } System.out.println("for = " + j); } } }
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
자바 스레드관련 질문이 있습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.예전부터 궁금하던건데 고급강의에서 스레드를 다뤄주셔서 너무 감사드립니다.궁금했던 질문1.war,jar 파일이 tomcat 에서 구동되면 강의에서 설명해준것처럼 tomcat 프로그램을 프로세스가 작동할텐데 동시에 3개의 요청이 tomcat 으로 들어오게 된다면 tomcat 을 돌리고 있는 프로세스는 총 3개의 스레드를 스레드풀에서 가져와서 각 각 요청에 1개씩 스레드를 할당하여 was 가 멀티스레드 처럼 작동되게 되는건가요?2.tomcat 으로 war,jar 파일을 배포하고 운영하면 tomcat 의 스레드가 war,jar 의 소스를 1줄씩 읽는거고 war,jar(자바) 에서는 스레드가 따로 생성되지 않는건가요? (자바에서 멀티스레드 사용하지 않은경우)3.2번이 맞다고 했을때 만약 자바소스에서 멀티스레드를(총3개 스레드사용) 사용했다면 tomcat 의 스레드는 1개일텐데 어떻게 멀티스레드가 되는건가요..? 자바에서 스레드를 2개 더 생성시켜버리는건가요? 궁금합니다 ㅠ4.그리고 자바에서 스레드 숫자를 설정해버리면(4개로 설정) tomcat 에서 4명의 사용자 요청만 동시에 처리할 수 가 있다고 하셨는데자바에서 스레드 숫자를 설정하는순간 톰캣의 스레드풀에서 4개의 스레드만 사용가능해지는건가요..?
-
미해결김영한의 실전 자바 - 중급 1편
Class 클래스 질문입니다!
[질문 내용]강의 내용과 똑같이 코드를 작성했는데 다음과 같은 에러가 발생합니다. 원인을 도저히 찾지 못해서 질문을 남깁니다!!추가로다음 코드를 추가하면 해결이 되는데 이렇게 해결이 되어도 괜찮은 부분일지 궁금합니다..
-
미해결김영한의 실전 자바 - 중급 2편
와일드카드
[질문 내용]package generic.test.ex5; import generic.animal.Animal; import generic.animal.Cat; import generic.animal.Dog; public class WildCardMain2 { public static void main(String[] args) { Box<Object> objBox = new Box<>(); Box<Animal> animalBox = new Box<>(); Box<Dog> dogBox = new Box<Dog>(); Box<Cat> catBox = new Box<Cat>(); //writeBox(objBox); writeBox(animalBox); Animal animal = animalBox.get(); System.out.println("animal = " + animal); } static void writeBox(Box<? extends Animal> box) { box.set(new Dog("멍멍이", 100)); } }package generic.test.ex5; public class Box<T> { private T value; public void set(T value) { this.value = value; } public T get() { return value; } }======질문 수정extends를 대입하면 Animal 이하의 개체(예: Cat, Dog)들이 전달 가능해지고, 이는 Dog를 담을 수 없기 때문에 컴파일 오류가 발생한다고 이해했습니다. 따라서 Super를 통해 이런 가능성을 차단합니다. 제가 이해한 것이 맞을까요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
임포트가 안되요 ㅠ
자바21로 맞췄는데 왜 timeunit을 못가져올까요?>
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
추상 클래스에서 showMainFeature
실행을 시켰는데 07에서했던 카메라에있는 showMainFeature이 결과값으로 같이 뜨는데 왜그런거가요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
새로운 switch문 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]새로운 switch 문을 작성 했는데 오류가 나네요switch 문 전체가 빨간줄로 에러가 뜨는데 이유좀 알려주세요package reEx1; import java.util.Scanner; public class Switch_01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("등급을 입력하세요:"); int grade = scanner.nextInt(); int coupon = switch (grade) { case 1 -> 1000; case 2 -> 2000; case 3 -> 3000; default -> 500; }; } }
-
미해결김영한의 실전 자바 - 중급 1편
equals 오버라이딩
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]equals 메서드 오버라이딩 할 때 안에서 String 비교를 equals로 하셨는데 이러면 재귀호출되어 무한 반복되는 문제가 발생하지 않는 이유는 무엇인가요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
메서드 문제와 풀이 2 에서 문제 - 은행 계좌 입출금
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]public static void main(String[] args) { // 초기 은행 계좌 int balance = 0; try{ while (true) { Scanner sc = new Scanner(System.in); System.out.println("---------------------------------"); System.out.println("1.입금 | 2.출금 | 3.잔액 확인 | 4.종료"); System.out.println("---------------------------------"); System.out.print("선택: "); int option = sc.nextInt(); switch (option) { case 1: balance = deposit(balance, sc); continue; case 2: balance = withdraw(balance, sc); continue; case 3: System.out.println("현재 잔액: "+balance+"원"); continue; case 4: System.out.println("시스템을 종료합니다."); break; default: System.out.println("메뉴에서 값을 선택해주세요."); } } } catch (InputMismatchException e) { System.out.println("숫자를 입력해주세요."); } } public static int deposit(int balance, Scanner sc) { System.out.print("입금액을 입력하세요: "); int amount = sc.nextInt(); balance += amount; System.out.println(amount + "원을 입금하였습니다. 현재 잔액: "+balance); return balance; } public static int withdraw(int balance, Scanner sc) { System.out.print("출금액을 입력하세요: "); int amount = sc.nextInt(); if (balance >= amount) { balance -= amount; System.out.println(amount + "원을 출금하였습니다. 현재 잔액: " +balance); } else { System.out.println(amount + "원을 출금하려 했으나 잔액이 부족합니다."); } return balance; }일반적으로 Scanner sc 를 메서드로 넘겨주는 행위를 하지 않는 걸로 아는데, 강의에서 설명해주신 부분 처럼 swich-case 문을 쓸 때처럼 따로 method를 뺄때 sc를 넘기지 않고, 실제 계산하고 출력하는 부분만 method로 만드는게 맞을까요?
-
미해결김영한의 실전 자바 - 중급 1편
지역 클래스, 내부 클래스 차이점
지역 클래스와 내부 클래스의 차이점이 무엇인가요 ?내부 클래스는 지역 변수에 접근이 불가능한 이유가 뭔가요 ?
-
미해결김영한의 실전 자바 - 중급 1편
내부클래스 private 메서드
Engine 클래스의 start 메서드가 private 으로 되어 있는데 어떻게 Car 클래스에서 engine.start() 를 할 수 있는건가요 ?제가 알기로는 내부 클래스는 바깥 클래스의 인스턴스에 접근할 수 있는 참조값을 가지고 있는 것은 알고 있지만 반대는 아니지 않나요 ?
-
해결됨유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
수업내용 관련해서 몇가지 질문이 있습니다
안녕하세요 강의 수강중 질문이 몇가지 생겨서 질문드립니다강의에서 제가 놓친걸수도 있는데 변수명앞에 m_의 의미는 뭔가요?유니티에서 게임 실행시에 PlayerPrefs의 Sound값이 True임에도 불구하고 시작할 때 노래가 안나오는 현상이 계속 발생합니다..!디버깅해보니 AudioManager의 Start가 TitleManager의 Start보다 빨리 시행돼서 LoadUserData를 하기 전에 AudioManager의 해당 코드에서 Mute()를 호출하는거 같습니다 (디버깅 해보면 이 시점엔 userSettingsData.Sound 값이 false 입니다)private void Start() { var userSettingsData = UserDataManager.Instance.GetUserData<UserSettingsData>(); if(userSettingsData != null) { if(!userSettingsData.Sound) { Mute(); } } }전체 코드와도 비교해봤을 때 틀린 부분이 없었고 뭔가 될때도 있고 안될때도 있고 이러다보니 원인을 잘 모르겠습니다..!
-
미해결스프링 핵심 원리 - 기본편
Map, List 조회시 빈등록 여부 질문합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용][조회한 빈 모두 필요할 때 , List, Map] 강의를 보고 스프링 빈에 등록되는 것을 모든 빈이 궁금하여 조회해 보았습니다. 그런데 @Autowire를 통해 Map policyMap, List policies은 빈 에는 등록 되지 않아 보입니다.그 이유가 AutoConfig.class를 통하여 @Componet가 설정된 클래스와 명시적으로 설정한DiscountService.class가 빈으로 등록 되고 Map policyMap, List policies은 @Componet설정이 된것이 아닌 스프링이 제공하는 기능으로 의존 관계 설정만 되는 것이 맞나요?코드package hello.core.autowired; import hello.core.AutoAppConfig; import hello.core.discount.DiscountPolicy; import hello.core.member.Grade; import hello.core.member.Member; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import java.util.List; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; public class AllBeanTest { @Test void test(){ AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames){ BeanDefinition beanDefinition = ac.getBeanDefinition(beanDefinitionName); if(beanDefinition.getRole() == BeanDefinition.ROLE_APPLICATION){ System.out.println("beanDefinitionName = " + beanDefinitionName + " / beanDefinition = " + beanDefinition.getBeanClassName()); } } } static class DiscountService { // 해당 타입(DiscountPolicy)에 일치하는 모든 빈이 컬렉션에 자동 추가 된다. -> 스프링이 제공하는 기능 // List에는 해당 타입의 빈이 순서대로 들어 간다. // Map에는 빈 이름을 키로, 빈 객체 값을 가지게 된다. private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; @Autowired public DiscountService(List<DiscountPolicy> policies, Map<String, DiscountPolicy> policyMap) { this.policies = policies; this.policyMap = policyMap; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } public int discount(Member member, int price, String discountCode) { DiscountPolicy discountPolicy = policyMap.get(discountCode); return discountPolicy.discount(member, price); } } }
-
미해결김영한의 실전 자바 - 기본편
2분 22초쯤에 질문이있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.2분 22초 에 선생님이 하신 말씀이 예를들어 X002.method 가 호출되면 힙영역의 인스턴스에서 메서드영역에있는 메서드를 호출하고 스택영역에 메서드 호출정보들이 저장된다 라고 이해해도 되나요?
-
미해결김영한의 실전 자바 - 중급 2편
hashCode를 오버라이딩 했을때 반환하는게 틀려요.
@Override public int hashCode() { return Objects.hashCode(id); }이걸로 ide가 만들어주네요. 업데이트 된 건가요?해쉬코드가 다르게 나와서 다른 인덱스에 채워지네요.강의처럼 아래와 같이 하면,@Override public int hashCode() { return Objects.hash(id); }강의와 똑같이 같은 인덱스에 채워집니다.Objects의 hash 메서드와 hashCode 메서드의 차이가 무엇일까요? 왜 인텔리제이는 hashCode 메서드를 생성했을까요?