묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
@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 문에서는 두개가 같은가요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ArrayEx7 출력 파트의 변수
배열 문제와풀이 2번 강의12분 경에 있는 ex7 문제의 경우 total과 average를 지역변수 각각 하나를 이용해 풀었는데,입력 for문과 출력 for문을 반복시에 total과 average값이 변화할텐데, Run 기능을 통해 결과를 확인 시에 total, average 값이 각각의 학생마다 제대로 나옵니다. 질문1: 출력 파트에서 sout " 1번학생의 총점: 100, 평균: 33.3" 을 실행해놓고, 다음 2~4번 학생의 total과 average값을 불러오는 것인가요? 코드를 잘못짜게 되면total과 average 값이 reset되어 모든 학생의 총점과 평균이 똑같이 나올 가능성도 있나요? 주의해야 할 점이 있으면 알려주세요. 질문2: total과 average를 배열 함수를 사용해서 문제를 풀이하였는데, 위의 경우처럼 지역변수로 해결할수 있으므로 이는 불필요한 메모리 낭비라고 생각하면 되나요? 배열함수를 사용 해야 할때도 있을까요?
-
미해결김영한의 실전 자바 - 기본편
강의교안 생성자 파트 질문
new MemberConstruct("user1", 15, 90);강의 교안에 '여기서는 Member 인스턴스를 생성하고 바로 MemberConstruct(String name, int age, int grade) 생성자를 호출한다.'라고 나와있는데요. MemberConstruct 인스턴스를 생성하고 MemberConstruct(String name, int age, int grade) 생성자를 호출한다고 이해하면 되는걸까요?
-
해결됨스프링 핵심 원리 - 기본편
인스턴스 생성에 대해 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. 스프링 컨테이너 사용 시에 싱글톤(객체 인스턴스를 1개만 생성)으로 관리하려면 객체 생성을 더이상 못하게 해야하는데 new로 추가적인 객체 인스턴스를 생성할 수 있는게 아닌지 질문드립니다. 싱글톤 패턴의 경우 private 생성자를 코드로 작성하더라도 리플렉션 기술을 통해 객체를 만들 수 있다면 싱글톤 패턴이라고 할 수 있는건가요?
-
해결됨김영한의 실전 자바 - 중급 1편
불변 객체 ImmutableObj클래스 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 챕터2 - 불변 객체 값 변경 - add() 메서드를 보면서 계속 중첩 클래스가 아른아른 거립니다. (아직 중첩 클래스 배우지는 않았지만 이런건가? 라는 생각이요..)아직 중첩 클래스 라는 것을 배우지는 않았지만 좀 관계가 있다고 생각해도 되는지 알고 싶네요.(영한님이 자주 말하시는 빌드업을 위해서 이런 코드를 쓴건가 하는 생각이 듭니다.)답변 부탁 드립니다.
-
해결됨김영한의 실전 자바 - 기본편
섹션2. 문제와 풀이
productOrderMain의 리펙토링 문제입니다.문제에서'static void printOrders(ProductOrder[] orders) 배열을 받아서배열에 들어있는 전체 ProductOrder 의 상품명, 가격, 수량을 출력합니다.'라고 하는데 배열을 받는 다는 게 뭔가요?매개변수 자리에 배열을 놓고 호출할 때도 배열 변수를 놓는 게 뭘 불러오고 대입이 되는 건지 이해가 되지 않습니다.ㅠㅠ저는 for each 문이 아니라 그냥 for문으로 풀어보려 했는데 메서드에 배열을 받는다는 게 뭔지 몰라서 그냥 for문으로 어떻게 풀어야할지 모르겠습니다.printOrders(orders);static void printOrders(ProductOrder[] orders) { for (ProductOrder order : orders) { System.out.println("상품명: " + order.productName + ", 가격: " + order.price + ", 수량: " + order.quantity); } }
-
미해결스프링 핵심 원리 - 기본편
싱글톤 컨테이너 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]싱글톤 컨테이너 사용 시에 기존의 싱글톤 패턴을 구현하는 코드들이 필요없는 장점이 있는데 그렇다면 private 한 생성자 코드를 작성하지 않아도 된다는 건데, new를 통해 새로운 객체 생성은 어떻게 막나요?
-
미해결김영한의 실전 자바 - 기본편
하위 package 생성시 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]class1 패키지 하위로 ex패키지를 만드려 하는데 하위로 들어가는 게 아닌 별도로 따로 패키지가 생성되는데 어떤 항목을 재설정해야할까요??
-
해결됨김영한의 실전 자바 - 기본편
섹션2. 참조형과 메서드 호출 - 활용
package refMethod2에서 학생의 정보를 바로 입력하는 메서드를 만들어서 참조값을 반환해서 사용하신다고 했는데, 메서드를 호출하고 수행한 뒤에 끝나면 메모리에서 사라지는 거 아닌가요?ㅠㅠcreatStudent메서드를 호출하면Student 객체를 생성하고이름, 나이, 성적을 넣은 뒤Student 객체의 참조값을 반환하는데메서드가 종료돼서 Student의 객체는 사라져서 참조값이 있어도 사용하지 못하는 게 아닌가해서요... 입문편 메서드 pdf에 이렇게 써있어서요!'메서드 호출이 끝나면 더 이상 해당 메서드가 사용한 메모리를 낭비할 이유가 없다. 메서드 호출이 끝나면 메서드 정의 에 사용한 파라미터 변수인 int a , int b 는 물론이고, 그 안에서 정의한 int sum 도 모두 제거된다.'
-
미해결김영한의 실전 자바 - 중급 1편
중첩 정적 클래스의 인스턴스화가 가능한 이유
[질문 내용]정적 클래스는 인스턴스화 할 수 없는데, 중첩 정적 클래스는 인스턴스화가 가능한 이유가 궁금합니다!