묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 실전 자바 - 중급 1편
StringBuilder클래스, String클래스 toString() 메서드 질문.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. "챕터3.StringBuilder -가변 String" 에서 @@.toString()을 사용하면 객체의 주소값이 아니라 value값이 나오는 것을 보고.. 이것도 자바가 오버라이딩 되어 있는 것이라고 생각을 하게 되는데. StringBuilder 라는 클래스 및 String클래스는(이것도 "toString()"를 찍으니 같음)오버라이딩 해서 value값만 나온다고만 이해해도 되는건가요?(지금 배우는 과정에서는 여기까지만 충분하다.) 아니면 이것에 대해서 공부 를 더 깊게 들어가야하나요?
-
미해결스프링 핵심 원리 - 기본편
gradle 추가 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]구글 드라이브https://drive.google.com/file/d/19HZLXOHOBKSSTVnudj6r6RXOBZu5elEy/view?usp=sharing 안녕하세요 강의 9분쯤 build.gradle 부분에서 버전에 따라 다 실행 해봤는데 아래와 같은 오류가 발생하여 질문 남깁니다. 제 스프링 부트 버전은 v3.2.4로 알고있습니다.
-
미해결김영한의 실전 자바 - 중급 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하는 건가요??