묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 1편
영상플레이 관련문의드립니다
1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의내용이랑은 상관없는데이번강의부터는 앱에서 플레이가 안되는데계속 안되는건가요? PC로 시청이안되서 모바일웹으로보고있는데 불편하네요 ㅜㅜ
-
미해결스프링 핵심 원리 - 기본편
빈 조회 방법을 알려주시는 이유가 혹시 무엇일까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]빈 조회 방법을 알려주시는 이유가 혹시 무엇일까요?실무에서 많이 사용될까요?
-
미해결스프링 핵심 원리 - 기본편
System.out.println 하여 출력한 결과가 안보이는 분들!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]file로 redirection 해보세요.프로젝트 디렉토리에 "test_output.txt" 파일명으로 생성됩니다. try { PrintStream printStream = new PrintStream(new FileOutputStream(new File("test_output.txt"))); System.setOut(printStream); String[] beanDefinitionNames = applicationContext.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = applicationContext.getBean(beanDefinitionName); System.out.println(beanDefinitionName + " : " + bean); } } catch (Exception e) { e.printStackTrace(); }
-
미해결김영한의 실전 자바 - 기본편
equals method
저는 강의를 듣고 문제를 풀다가 이러한 equals 메서드를 보게 되었습니다.제가 생각 하기로는 public boolean equals( Date obj){ } 로 하는게 다운 캐스팅을 할 필요도 없고, 더 편할 것 같은데 특별한 이유가 있나요 ?
-
미해결김영한의 실전 자바 - 중급 1편
Enum 클래스- 상수가 인스턴스를 생성할때, 그 인스턴스는 또 상수를 갖고 있고 객체를 생성하고 무한 생성(참조)하지 않나요?
1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]public class ClassGrade {public static final ClassGrade BASIC = new ClassGrade();public static final ClassGrade GOLD = new ClassGrade();public static final ClassGrade DIAMOND = new ClassGrade();}안녕하세요. 열거형 파트 부분에서 상수가 인스턴스를 생성할때public static final ClassGrade BASIC = new ClassGrade(); 이렇게 생성하면,그 BASIC 이 참조하는 인스턴스는 내부에 상수(BASIC, GOLD, DIAMOND)를 또 갖고있는데, 그 상수가 인스턴스를 무한 생성하게 되지 않나요? 않는다면 이유는 뭔가요?
-
미해결스프링 핵심 원리 - 기본편
@Configuration이 없을때의 싱글톤 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. @Configuration을 붙이지 않으면 TestConfig 자체와 @Bean 메서드들의 반환 객체를 싱글톤 빈으로 등록하지만 의존 관계에서의 객체 호출은 일반 객체를 생성한다.2. 한 @Bean의 일부가 return new Component2(component1()) 라면 Component2는 싱글톤 빈으로 등록되지만 의존 관계에서의 호출인 componenet1은 빈으로 등록이 안되고 일반객체가 생성된다.3. https://www.inflearn.com/questions/475367여기 답변에서 David님께서 "TestConfig 내 객체 생성 메서드의 경우 호출시 싱글톤을 보장하지 않고 매번 새로운 객체를 생성합니다." 라고 하셨는데 의존 관계 주입일때는 1,2번의 이해를 바탕으로 해결했습니다. 그런데 의존 관계 주입이 아닌 객체를 생성해 싱글톤 빈으로 등록하는 경우에도 싱글톤을 보장하지 않는다는게 말이 헷갈려서 질문드립니다. 아래 코드의 경우에서 component2 component2_2가 각각 싱글톤 빈으로 등록된다는 뜻인가요? public class Config { @Bean public Component2 component2() { return new Component2(componenet1()); } @Bean public Component2 component2_2() { return component2(); } @Bean public Component1 component1() { return new Component1(); } 1,2번은 해주신 답변으로부터 이해를 했는데 3번을 잘모르겠습니다.
-
미해결스프링 핵심 원리 - 기본편
인텔리제이 콘솔창
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 보면 콘솔창에 config 정보등 상세하게 출력되는데 제 인텔리제이 콘솔창에는 출력이 괴지 않습니다.
-
해결됨김영한의 실전 자바 - 중급 1편
"챕터 2 - 불변 객체 - 예제" 에서 나온 코드들이 실무에서 자주 사용하는지?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. "챕터 2- 불변객체 예제"에서 회원의 주소를 변경할때 가변 객체 에서의 MemberMainV1의 코드를 보면,memberB.getAddress().setValue("부산"); 이런식 으로 하셧고,불변 객체의 에서의 MemberMainV2의 코드를 보면,memberB.setAddress(new ImmutableAddress("부산")); 이런식으로 하셨는데.이런 코드들이 실무에서 얼마나 자주 사용하는지 궁금 합니다.공부하면서 이런 코드들은 본적이(저한테는 특이한 코드 여서) 없어서 질문을 남깁니다.답변 부탁드립니다.
-
미해결김영한의 실전 자바 - 기본편
생성자 호출과 스택
public class JavaMemoryMain2 { public static void main(String[] args) { method1(); } static void method1() { Data data1 = new Data(10); method2(data1); } }스택 영역에 main 스택 프레임이 쌓이고, method1() 호출 통해 method1 스택 프레임이 쌓이고 난 후에 new Data(10)에서 생성자를 호출할 때도 스택 영역에 Data 스택 프레임이 쌓이고 생성자 호출이 종료되는 즉시 Data 스택 프레임이 제거되는게 맞을까요? 그니까 method1 스택 프레임이 쌓이고, method2 스택 프레임이 쌓이기 전에 Data 스택 프레임이 쌓이고 제거되는 것이죠. 혹시 이게 맞을까요??
-
미해결스프링 핵심 원리 - 기본편
@configuration과 싱글톤 질문입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]https://www.inflearn.com/questions/475367 답변해주신 내용에서 "TestConfig 자체는 싱글톤 스코프 빈으로 컨테이너에 등록됩니다."이 부분이 이해가 가지 않습니다. 스프링 빈으로 등록되기는 하지만 결국 @Configuration 이 없으면 단순히 빈으로 등록하는거뿐 아닌가요? 클래스 내부 @Bean 들과 다르게 TestConfig만 싱글톤으로 빈 등록이 되는건가요?CGLIB없이 어떻게 싱글톤인지 모르겠습니다..
-
해결됨김영한의 실전 자바 - 중급 1편
불변 객체 질문합니다.
ImmutableAddress에서 value를 final로 설정했는데MemberV2에서 setAddress를 쓸 수 있는 건가요?final로 선언하면 setter를 못 쓴다고 알고 있어서 질문합니다.(불변 객체 - 값 변경 강의입니다.)package immutable.address; public class ImmutableAddress { private final String value; public ImmutableAddress(String value) { this.value = value; } public String getValue() { return value; } @Override public String toString() { return "Address{" + "value='" + value + '\'' + '}'; } } package immutable.address; public class MemberV2 { private String name; private ImmutableAddress address; public MemberV2(String name, ImmutableAddress address) { this.name = name; this.address = address; } public String getName() { return name; } public void setName(String name) { this.name = name; } public ImmutableAddress getAddress() { return address; } public void setAddress(ImmutableAddress address) { this.address = address; } @Override public String toString() { return "MemberV1{" + "name='" + name + '\'' + ", address=" + address + '}'; } }
-
미해결김영한의 실전 자바 - 중급 1편
서로를 참조하고 있는 클래스의 예외던지기에 관해
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요강의를 듣다가 궁금한 점이 생겼습니다.예외처리 방법 중에 2번째 방법인 예외를 상위로 던지는 방법이 있다고 하셨는데, 만약에 서로를 참조하고 있는 클래스가 있다고 가정을 하고 이 때, 각각의 클래스안에 상대의 객체를 생성해서 상대의 클래스로 예외를 던지면 stack overflow 오류가 발생함을 확인하였습니다. 이 경우 다소 인위적으로 상위 클래스로 예외를 던져지지 못하였는데, 혹시 실무에서도 예외를 상위 클래스로 던지지 못하여 stack overflow error가 발생하는 사례가 있는지 궁금합니다.
-
미해결김영한의 실전 자바 - 기본편
default 클래스 질문
한 파일에 public이 붙은 클래스는 2개 이상이 아닌 단 1개만 존재할 수 있다는 것은 알겠습니다. 그런데, public이 붙은 클래스가 0개 존재할 수 있는지(= default가 붙은 클래스만 존재함), 실제로 이러한 경우가 실무에서도 존재하는지 질문드립니다.클래스 파일을 만든 후에 public을 제거했더니 문제가 발생하지는 않았습니다. 실무에서도 public이 안 붙은 클래스 파일이 존재하는 경우가 있나요?
-
해결됨김영한의 실전 자바 - 중급 1편
오타 - 불변객체 문제풀이 문제 설명, 클래스 이름 오타
오타 발견햇습니다.문제 설명에 이름을 "ImmaubleMyData, ImmaubleMyDataMain"라고 지으라고 했는데 ide에서 계속 밑줄이 쳐져 있어서 ide의 도움 + 답안지를 보니까"ImmutableMyDate, ImmutableMyDateMain" 라고 ide가 고치고, 답안지 클래스 이름도 이렇게 되 있더 라고요.(-중간에 "t" 가 빠짐) 수정해야 할 것 같네요.
-
미해결김영한의 실전 자바 - 중급 1편
catch문에 관하여 질문 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 1. throw는 예외를 발생시키고 throws는 예외를 던지는거로 알고있는데 위 코드에서 throw e;가 e를 던지는 거라고 하셔서 뭐가 맞는건지 궁금합니다.catch(Exception e)이 부분에서 이미 예외가 잡히고 불이 꺼진거 아닌가요? throw e;가 예외를 던지는거라면 어떻게 던질수 있는건지 궁금합니다.
-
미해결김영한의 실전 자바 - 중급 1편
equals()가 여기서는 왜 안 먹히나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 첫번째 사진이 이번 문제와 풀이 시간에 혼자 만들어보려고 한 equals() 메서드 코드입니다.두번째 사진은 바로 이전 강의에서 영한쌤이 직접 간단하게 만드셨던 equals() 메서드 코드이구요. 똑같게 사용한 거 같은데 왜 첫번째 사진의 equals에서는 저렇게 에러가 발생하나요..?
-
미해결김영한의 실전 자바 - 중급 1편
부끄러운 질문 하나 하겠습니다...
복습방법을 잘 모르겠습니다.. 두가지 질문을 드려봐요.1. 강의를 전부 다시보는건 너무 시간이 오래걸릴것같고 교재랑 코드만 보면 지식의 공백이 생길것같습니다... 2. 학습적으로 제대로 이해하고 응용할 수준까지 진행하고 싶어도 주입식교육을 받은 학생이라 그런지 다양한 문제를 해결하지 않으면 그 수준까지 도달을 못하는 편입니다.그래서 다양한 예제를 풀어볼 수있는 방법이 없을까요 ? 목차마다 한 두문제가 있는데 반복해도 나중에 다른 문제를 만낫을때 해결하지 못해서 고민입니다.. 그런 문제를 아주 가끔씩 만나기도 하고요...뭔가 몇달째 코딩을 하면서 이것때문에 남는 지식이 얼마 없는것 같아서 딜레마에 빠졌습니다.. 좋은 방법이 없을까요?ㅠㅠ
-
미해결김영한의 실전 자바 - 중급 1편
equals() 메서드가 내부적으로 == 기능이잖아요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 이번 강의를 듣다가 궁금한 점이 생겨 질문드립니다.위의 UserV2 클래스에서 equals() 메서드를 오버라이딩했을 때, id.equals(user.id); 를 호출부에 return 하잖아요?근데 이전 강의에서 말씀해주시기를 equals() 메서드는 내부적으로 == 의 의미를 가진다고 하셨던 게 기억이 나요. 결론적으로 제가 여쭙고 싶은 것은, EqualsMainV2에서 System.out.println("identity: " + (user1 == user2));의 결과로 false가 나오는 것은 이해가 되는데, System.out.println("equality: " + user1.equals(user2));의 결과로 true가 나오는 것이 잘 이해가 안 되네요..ㅠ 혹시, 생성자를 통해 넘겨진 id가 user1, user2 모두 id-100으로 동일해서, 필드끼리의 값을 비교해봤을 때 정확히 일치하기 때문에 UserV2에 오버라이딩한 equals() 메서드에서 true를 return하는 건가요??
-
미해결스프링 핵심 원리 - 기본편
@Configuration 역할에 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의를 보다가 @Configuration의 역할이 싱글톤 보장만 해주는 것인줄 알았는데, 다른 질문들의 답변을 보니 스프링 빈으로 자동등록하는 기능도 있다는 걸 봤습니다. 그렇다면 ApplicationContext ac = new AnnotationConfigApplicationContext(TestConfig.class) 코드를 작성하지 않고 @Configuration 어노테이션만으로도 스프링 빈에 등록할 수 있나요? (당연히 두 경우 모두 @Bean 은 존재하는 걸로 가정)
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
continue와 break의 차이
컨티뉴는 반복문에서 조건을 다시 보러 올라간다 이고,브레이크는 반복을 끝낸다 인데,빨간줄에 break를 사용해도 반복이 되는것을 확인하였습니다.switch 문에서는 두개가 같은가요?