묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 1편
중첩과 내부의 차이
먼저 중첩과 내부의 차이가 내부에서 단순히 위치만 차지하는 것과 나를 구성하는 한 요소인 것으로 나뉘는 것으로 학습을 했습니다. 그런데 중첩 클래스에 내부 클래스도 모두 포함이 된다고 해서 헷갈려서 질문드립니다! 위에 말씀 드린 차이는 정적 중첩 클래스와 내부 클래스를 구분할 때만 사용하는 것일까요?
-
미해결김영한의 실전 자바 - 중급 1편
문제 2번 도서 관리 시스템에 ArrayList 사용
package nested.test.ex1; import java.util.ArrayList; import java.util.List; public class Library { private List<Book> library = new ArrayList<>(); private int MaxBookCount; public Library(int maxBookCount) { this.MaxBookCount = maxBookCount; } public void addBook(String bookName, String author) { Book book = new Book(bookName, author); if (MaxBookCount == library.size()) { System.out.println("도서관 저장 공간이 부족합니다."); return; } library.add(book); } public void showBooks() { for (Book book : library) { System.out.println("도서 제목: " + book.bookName + ", 저자: " + book.author); } } static class Book { private String bookName; private String author; public Book(String bookName, String author) { this.bookName = bookName; this.author = author; } } }코드를 이렇게 작성해도 될까요?조건에 객체 배열을 사용하도록 하긴 했는데 실무에서도 이런 경우엔 배열을 더 많이 사용할까요?
-
미해결김영한의 실전 자바 - 중급 1편
예외 처리에 관하여
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. 자바 중급1을 모두 학습하고 다시 보면서 복습을 하고 있던 도중 이해가 가지 않는 부분이 있어 질문 드립니다. 섹션5 Class클래스강의 (13:26)에 나오는 ClassCreateMain 클래스에 대해 질문 드리려고 합니다. main부분에서 throws Exception을 해야 오류가 않나는 것을 확인했습니다. 예외파트 강의에서 main에서도 예외를 던져버리면 에러가 난다고 이해했었는데 main에서도 예외를 던졌는데 이 예외는 어떻게 리되는 건가요?
-
미해결타입 파이썬! 올바른 class 사용법과 객체지향 프로그래밍
보너스 챕터 마지막 강의 녹화 품질이 문제가 있습니다ㅠㅠ
소리가 뚝뚝 끊겨서 알아듣기가 힘든데 방법이 없을까용
-
미해결김영한의 실전 자바 - 중급 2편
배열리스트5-제네릭2
만약 제가 reverse 함수를 구현한다고 하면 tempValue 를 제네릭 E 로 구현해야하나요 ? 아니면 아래와 같이 구현해도 전혀 문제가 없나요 ?public void reverse() { if( elementData == null || size <=1 ){ return ; } for (int i = 0 ; i < (int)( size / 2 ) ; i++){ Object tempValue = elementData[i] ; elementData[i] = elementData[size-1-i] ; elementData[size-1-i] = tempValue ; } }ㅁ
-
미해결김영한의 실전 자바 - 기본편
.class .java 가 무슨뜻인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.12분에 선생님이 클래스, 추상 클래스, 인터페이스는 프로그램 코드, 메모리 구조상 모두 똑같다. 모두 자바에서는 .class 로 다 루어진다. 인터페이스를 작성할 때도 .java 에 인터페이스를 정의한다 라고 하셨는데 여기서 .class 로 다뤄진다 와 .java 에 인터페이스를 정의한다가 무슨뜻인가요?
-
미해결김영한의 실전 자바 - 중급 1편
새로운 객체를 만들었는데 왜 이전 생성자 값으로 초기화 되나요?
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]year를 바꿀 때 왜 month 와 day는 생성자에 입력했던 값을 유지하나요?new ImmutablaMyDate 객체를 만들었으면 멤버변수 초기화값인 0이 되어야 할것 같은데 public ImmutableMyDate changeYear(int year) { ImmutableMyDate immutableMyDate = new ImmutableMyDate(year,month,day ); return immutableMyDate; }
-
미해결스프링 핵심 원리 - 기본편
이렇게 뜨는데 정상인가요?
nconditional classes:---------------------- org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration org.springframework.boot.autoconfigure.ssl.SslAutoConfiguration org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration
-
미해결스프링 핵심 원리 - 기본편
싱글빈이 2개 입력되었다고 합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.Description:Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found: - memoryMemberRepository: defined in file [/Users/root1/Documents/java/core/out/production/classes/hello/core/member/MemoryMemberRepository.class] - memberRepository: defined by method 'memberRepository' in class path resource [hello/core/AppConfig.class] @Configuration @ComponentScan( // basePackages = "hello.core", excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) public class AutoAppConfig { } @Component public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Component public class MemoryMemberRepository implements MemberRepository {
-
미해결스프링 핵심 원리 - 기본편
싱글빈이 1개 등록했는데 2개 중복되었다고합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; }@Component public class MemoryMemberRepository implements MemberRepository {@Configuration public class AppConfig { @Bean public MemberService memberService(){ System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public OrderService orderService(){ System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public DiscountPolicy discountPolicy(){ // return new FixDiscountPolicy(); return new RateDiscountPolicy(); } }
-
미해결스프링 핵심 원리 - 기본편
MemberServiceImpl 에서 싱글톤이 2개 있다는데 코드보면 2개가아닌데 2개라고 뜨네요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. escription:Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found:- memoryMemberRepository: defined in file [/Users/root1/Documents/java/core/out/production/classes/hello/core/member/MemoryMemberRepository.class]- memberRepository: defined by method 'memberRepository' in class path resource [hello/core/AppConfig.class] 웹설치하고 이런 오류가 뜨네요AppConfig@Configuration public class AppConfig { @Bean public MemberService memberService(){ System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public OrderService orderService(){ System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public DiscountPolicy discountPolicy(){ // return new FixDiscountPolicy(); return new RateDiscountPolicy(); } } public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; }
-
미해결스프링 핵심 원리 - 기본편
MemberServiceImpl 에서 싱글톤이 2개 발견했다하는데
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) escription:Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found: - memoryMemberRepository: defined in file [/Users/root1/Documents/java/core/out/production/classes/hello/core/member/MemoryMemberRepository.class] - memberRepository: defined by method 'memberRepository' in class path resource [hello/core/AppConfig.class] 웹설치하고 이런 오류가 뜨네요AppConfig@Configuration public class AppConfig { @Bean public MemberService memberService(){ System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public OrderService orderService(){ System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public DiscountPolicy discountPolicy(){ // return new FixDiscountPolicy(); return new RateDiscountPolicy(); } } public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; }2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결스프링 핵심 원리 - 기본편
빈 생성 로그 출력
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 자료에 있는 내용처럼 로그백 파일을 설정해주면 빈 생성 관련 로그가 잘 출력되는데 로그백 파일을 사용하지 않고 application.properties 파일에logging.level.root=DEBUG logging.level.org.springframework=DEBUG logging.level.org.springframework.beans=DEBUG이런 식으로 설정을 했는데 빈 생성 로그가 출력되지 않습니다.원인이 무엇인가요
-
미해결김영한의 실전 자바 - 기본편
기본형과 참조형 문제와 풀이 마지막 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.18,20줄에 nextInt()를 두 번 사용하면 버퍼에 \n\n줄바꿈 문자 2개가 남게되고, 이후에 21줄에서 nextLine()을 통해 입력 버퍼를 비운다고 했는데, nextLine()은 \n 하나만 처리하는거 아닌가요? 그렇게 되면 버퍼에 \n이 하나 남게되고, 순회(int i = 1)할 때, 다음 16줄의 nextLine()에서 \n을 처리하여 빈 문자열(" ")을 반환하지 않나요? 그런데 이 코드를 돌려보면 nextInt()를 두 번 호출하고, nextLine()을 호출하면 \n\n 줄바꿈 문자 2개를 연속으로 버퍼에서 처리되었는데 그 이유가 무엇인가요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
ReentrantLock과 sleep()에 대해 질문 있습니다.
ReentrantLock 사용시 쓸 수 있는 락이 여러 개 있는지 아니면 하나만 쓸 수 있는지 궁금합니다.Object의 wait() 사용 시 스레드가 스레드 대기 공간에서 기다리는 것처럼 sleep() 같은 경우도 따로 대기하는 공간이 있는지 궁금합니다.
-
미해결김영한의 실전 자바 - 중급 1편
equals 설계가 이해가 어렵습니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]equals는 매개변수를 받으면-> User2 클래스로 변환 (다운캐스팅)-> 만들어진 User2객체에서 id 추출-> 그걸 User2 id와 비교정리하면 들어온 Object를 User2로 바꾸어 id를 확인하는 메서드인데User2를 User2로 다운캐스팅하여 User2와 비교 후 User1 과 비교하는 로직 아닌가요?어느부분이 잘못된건지 모르겠습니다ㅜㅜ
-
해결됨김영한의 실전 자바 - 중급 2편
다형성을통한 중복 해결시도 - 잘못된 타입의 인수쪽 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 강의를 듣다가 질문이 생겨서 질문을 남깁니다.마지막에서 잘못된 타입의 인수를 전달할 때 해결 방법으로 instance-of가 생각나더라고요.근데 이 방법이 있어도 안 한 이유가, IntegrBox랑 ObjectBox랑 대조 설명 하시면서, 코드의 재사용성, 코드의 안정성을 말씀하시던데,instance-of를 하게 되면(클래스를 만들든 메서드로 만들든) 타입마다 계속 비교해서 코드가 한없이 길어지기 때문에, 코드의 재사용X 이기 때문에 안 하신건가요?추가1아니면 다른 이유가 있는 것 인가요?답변 부탁 드립니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
ReentrantLock 과 Condition 에 대해 질문 있습니다.
public class BoundedQueueV4 implements BoundedQueue { private final Lock lock = new ReentrantLock(); private final Condition condition = lock.newCondition(); private final Queue<String> queue = new ArrayDeque<>(); private final int max; public BoundedQueueV4(int max) { this.max = max; } @Override public void put(String data) { lock.lock(); try { while (queue.size() == max) { log("[put] 큐가 가득 참, 생산자 대기"); try { condition.await(); log("[put] 생산자 깨어남"); } catch (InterruptedException e) { throw new RuntimeException(e); } } queue.offer(data); log("[put] 생산자 데이터 저장, notify() 호출"); condition.signal(); } finally { lock.unlock(); } } @Override public String take() { lock.lock(); try { while (queue.isEmpty()) { log("[take] 큐에 데이터가 없음, 소비자 대기"); try { condition.await(); log("[take] 소비자 깨어남"); } catch (InterruptedException e) { throw new RuntimeException(e); } } String data = queue.poll(); log("[take] 소비자 데이터 획득, notify() 호출"); condition.signal(); return data; } finally { lock.unlock(); } } @Override public String toString() { return queue.toString(); } }synchronized를 사용 했을때는 객체가 기본적으로 가지고 있는 락과 스레드 대기 공간을 사용하는거 같습니다. 궁금한점은 ReentrantLock 객체를 생성하고 Condition 객체를 생성하면 BoundedQueueV4 내부에 또 다른 락과 스레드 대기 공간이 생성 되는건가요?
-
미해결김영한의 실전 자바 - 중급 1편
멤버B의 주소 바꿔주는 방법에 관한 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의중에 나온 이부분에 관해 질문이 있습니다.memberB.getAddress().setValue("부산");memberB.setAddress(new ImmutableAddress("부산"));여기서, 멤버B의 주소를 바꿔 줄때,memberB.getAddress().setValue("부산"); 를 하셨는데, 그냥 memberB.setValue("부산"); 라고 하면 안돼는 이유가 무엇인지 너무 궁금 합니다
-
미해결김영한의 실전 자바 - 중급 1편
어떤건 String.join이고 어떤건 str.split이렇게 하는데 어떻게 외우나요
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]자바 코테 준비하는데 위 함수들을 외우는 꿀팁같은거 없나요?