묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
스프링전환 실행시 로그내용이 나오지 않네요?
스프링 전환 실행 후 실행창에 나오는(4분50초) 로그 내용이제 실행화면에는 안나오고 결과 값만 나오네요???코딩은 똑 같이 했고, 결과도 잘 나옵니다.== appConfig에 어노테이션도 다 달았습니다.
-
미해결스프링 핵심 원리 - 기본편
실제로도 수동빈을 작성할 일이 많이 있나요 ??
프레임워크라는 것을 생각해보면 스프링이 의도한대로 로직을 짜는게 잘 설계하는거라고 생각이 되는데, 그럼 수동빈을 설정할 일이 많나요? 그리고 그것도 좋은 설계인가요 ??
-
해결됨이진법부터 시작하는 C# 기초 프로그래밍 입문
이진법...
필수인가요...
-
해결됨스프링 핵심 원리 - 기본편
오류
주문과 할인 도메인 개발 강의에서 아래와 같이 작성하였는데요. package hello.core.order; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPlicy; import hello.core.member.Member; import hello.core.member.MemberRepository; import hello.core.member.MemoryMemberRepository; public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository = new MemoryMemberRepository(); private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); @Override public Order createOrder(Long memberId, String itemName, int itemPrice) { Member member = memberRepository.findById(memberId); int discountPolicy = discountPolicy.discount(member, itemPrice); return new Order(memberId, itemName, itemPrice, discountPolicy); } public DiscountPolicy getDiscountPolicy() { return discountPolicy; } } int discountPolicy = discountPolicy.discount(member, itemPrice);이 부분에서 변수 discountPolicy가 초기화되지 않았을 수 있습니다. 라는 오류가 뜹니다. 실제 이 부분 때문에 실행이 안되는데요.인터페이스를 초기화할 수 없어서 그런거 아닌가요..?저만 안되나요..?
-
미해결스프링 핵심 원리 - 기본편
메서드 추출 시, @NotNull 이 자동으로 붙습니다
윈도우에서 ctrl + alt + M 을 입력했을 때, 강의처럼 Extract Method 창이 뜨지 않고이렇게 바로 추출할 수 있게 나오는데 이 방법으로 생성을 하면 @NotNull 이 붙은 채로 같이 생성이 됩니다.붙이고 사용해도 되는걸까요?(+ 그리고 사진과 같은 방식 말고 강의에서처럼 타입같은거 바로 바꿔서 추출할 수 있게 하는 창을 띄울 순 없을까요? 이렇게 하니 static도 자동적으로 붙어버리네요)
-
해결됨김영한의 실전 자바 - 기본편
부모는 자식을 담을 수 있지만 자식은 부모를 담을 수 없는 이유
[질문 내용]다형적 참조 시 부모 클래스는 자식 클래스를 참조하여 대입할 수 있으나, 자식 클래스는 부모 클래스를 참조하여 대입할 수 없는 부분에 대해 좀 더 작동 원리를 이해하고 싶어서 질문드립니다. 예시)Parent a= new Child(); -> 실행 가능Child b = new Parent(); -> 실행 불가. 컴파일 에러 발생. 위와 같이 규칙이 정해진 이유는하위 클래스는 인스턴스 생성 시 상위 클래스 생성자를 무조건 호출하여 인스턴스 내에 상위 클래스, 하위 클래스 정보가 모두 존재하는 반면, 상위 클래스는 인스턴스 생성 시 본인의 인스턴스만 생성하기 때문에 인스턴스 내부에 상위 클래스 정보밖에 존재하지 않아 하위 클래스 데이터 타입에 해당 인스턴스 참조값을 대입할 수 없는거라고 이해하면 될까요? 상기 작동 방식이 결국엔 다운캐스팅을 명시해야하는 이유와 일맥상통하는 것 같은데 제가 정확하게 이해한건지 모르겠습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ScannerWhileEx4
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]For 무한 루프 속에 switch 조건문을 넣으려고 하는데요Switch의 break로는 for 무한루프를 못 나와서요나오는 방법이 있을까요?
-
미해결김영한의 실전 자바 - 기본편
스택영역과 힙영역 질문입니다.
[질문 내용]여기에 질문 내용을 남겨주세요. 제가 이해력이 안좋아서 자꾸 질문을 남기게되네요 ㅠ method1()의 스택프레임이 제거되고 지역변수 data1도 함께 제거되었다. 여기는 이해가 갑니다. Data data1 = new Data(10);으로 만들어 져서 data1은 참조값 x001을 갖고 있고 Data의 인스턴스라는 것과 메서드 내에서 사용했기 때문에 data1은 지역변수라 칭한것도 이해가 됩니다. 하지만정리 부분에 // 지역 변수는 스택 영역에, 객체(인스턴스)는 힙 영역에 관리되는 것을 확인 했다.// 이 부분에서 지역 변수라 하면 data1이고 또 객체라 하면 Data인스턴스에 data1의 참조값을 지칭하는 말 일텐데 제가 제대로 이해하지 못한 부분이 있나 싶습니다.
-
해결됨스프링 핵심 원리 - 기본편
싱글톤으로 여러 사람의 정보를 어떻게 저장하나요 ?
싱글톤을 활용해서 개인정보 등을 저장한다고 하면 MemberService 객체 하나가 여러 사람들에게 사용되잖아요? 근데 어떻게 각각의 사람들의 객체를 생성해주며 그런 개인정보를 db에 저장할 수가 있는걸까요? DB에 저장할 때는 결국 객체 자체를 저장하지 않습니까? 근데 싱글톤은 객체가 1개라는 점이 너무 상반되어서 이해가 안되는 것 같습니다
-
미해결김영한의 실전 자바 - 기본편
상속과 접근제어지 질문
첫번쨰 질문child 클래스, parent 클래스,메인메소드 있는 클래스 가 있을떄 서로 각각 다른 패키지라고 할떄Child c = new Child(); 일떄 c.protectedmethod(); 왜 이 코드는 실행이안되나요 상속받았으니 부를수있는거아닌가요 ?두번쨰 질문 parent 클래스,메인메소드 있는 클래스는 같은 패키지이지만 child 클래스혼자만 다른 패키지소속 일경우메인메소드에서 c.protectedmethod(); 작동 , c.publicmethod(); 도 당연히 작동 근데 여기서 c.protectedmethod() ; c 가 상속받은 클래스 의 객체여서 되는건지( 그리고 왜 첫번쨰와 세번쨰의 경우는 c.protectedmethod();가 실행이안되는지도 궁금합니다)같은 패키지여서 되는것인지는 알지못함 그리고 Parent p = new Parent(); 일떄 p.defaultmethod();는 불러져도 c.defaultmethod();는 안됨 - 메인메소드와 부모 클래스가 같은 패키지여도 자식 클래스는 다른 클래스여서 디폴트는 안되는게 맞다고 생각하면되나여 ?세번쨰 질문이번엔 child 와 메인메소드가 같은 패키지일떄 parent 혼자 다른 패키지 이떄는 메인 메소드에서c.protectedmethod(); 는 왜 안돨까요? 상속 받으면 되는 걸로 알고있는데 publicmethod 는 불러지고 default 는 같은 패키지가 아니니까 못부른다 쳐도 c.protectedmethod(); 는 작동해야하는거아닌가요 헷갈립니다
-
해결됨스프링 핵심 원리 - 기본편
@Autowired 의존성 주입 궁금한
@Autowired private final MemberRepository memberRepository;private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; }차이점을 잘 몰라서 그런데...의존성 주입 할때 아래 코드로 하는 이유가 무엇입니까?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ScannerEx1 : String과 Int
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Scanner로 나이를 받을 때숫자인데 int가 아닌 String으로도 정상 작동하던데요왜 그런 건가요?
-
해결됨스프링 핵심 원리 - 기본편
DiscountPolicy는 웹앱 계층구조에서
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]DiscountPolicy는 비즈니스로직(할인)을 구현하였으니, 웹앱 계층구조에서 서비스 계층에 해당하는건가요??
-
해결됨스프링 핵심 원리 - 기본편
역할과 구현을 분리함으로 얻는 이점의 궁금함
안녕하세요! 이제 막 공부하기 시작했습니다. 공부 중에 궁금한 점이 생겨서 질문을 올립니다.예제 만들기 1에서 회원 서비스로 회원가입과 회원조회를 인터페이스로 만든 후 구현객체를 만들었습니다.왜 회원 서비스를 인터페이스와 구현객체로 나눈 것인지 잘 이해가 가지 않습니다. 회원 저장소는 인터페이스로 만들어 구현 객체를 원하는 객체로 장착하기 위해 인터페이스로 만든 것은 이해했습니다. 회원 서비스를 역할과 구현을 나눔으로 얻는 이점이 있나요 ?
-
미해결스프링 핵심 원리 - 기본편
MemberServiceTest 실행시 오류가 납니다.
테스트 실행시 오류가 납니다.메서드 내용을 전부 막고 실행해도 오류가 납니다.-- build.gradle에 { exclude group : 'org.junit.vintage', module : 'junit-vintage-engine' } 이게 없길래 추가 해 줬는데도 오류 납니다. 2. Assertions.assertThat()는 구문 오류(빨간 글씨)가 계속 나옵니다. Assertions.assertEquals()는 정상처리 됩니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
Scanner Util 패키지
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]제가 코드를 작성했을 때는 영한님 강의에서처럼 저절로 import java.util.Scanner;가 생기지않고 사진과 같이 java.util.Scanner로 되더라고요. 혹시 따로 무슨 설정을 만져야 할까요??-감사합니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
sout문안에서 연산이 가능한가요?
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=====================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요. 문제 중 더 큰 숫자 찾기 문제에서 삼항연산자를 사용하는 과정에서 질문이 있습니다.아래처럼 sout문안에서 삼항연산자를 사용하여 a와 b중 더 큰 수를 big에 대입해서 바로 쓰면서 문자열과 연결하는 방법은 불가능한걸까요?;int a=10, b=20; int big=0; System.out.println("더 큰 숫자는 " + {big = (a>b) ? (big = a) : (big = b)} + "입니다.");
-
미해결스프링 핵심 원리 - 기본편
service, repository에서 memberId의 타입을 Long으로 선언한 이유
MemberService의 findMember()와 MemberRepository의 findById()에서 매개변수 memberId의 타입을 long이 아닌 Long으로 선언한 이유가 궁금합니다. Member 클래스를 선언할 때 id 필드의 타입이 long이 아닌 Long인 이유는 다음 글을 통해 알 수 있었는데, 이 메서드들에서 memberId의 타입을 long이 아닌 Long으로 선언한 이유는 무엇인가요?
-
해결됨스프링 핵심 원리 - 기본편
역할과 구현 분리 이유
역할과 구현을 분리하는 이유가 궁금한데요. 어떤 역할(ex. 회원 데이터 저장하기)에 대한 구현 방법이 여러가지이기 때문인가요? (구현 방법이 여러가지라면 구현법을 변경할 가능성이 있기에) 이게 역할과 구현을 분리하는 이유인가요?그렇다면 어떤 역할에 대한 구현 방법이 단 1가지라면 역할과 구현을 분리하지 않아도 되는 것인가요? 만약 그렇다면 '구현체가 1개인 경우에는 인터페이스명 + Impl을 클래스명으로 하는 것이 관례'라는 관례가 존재하는 이유가 무엇인가요? 구현체가 단 1개라면 인터페이스-클래스가 아닌 클래스만 존재하면 되는거 아닌가요...?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
JDK 21없어요 22로 다운로드 해서 사용해도 되나요?
프로젝트 설정 잡으려고 따라하고 있는데요!JDK 버전 21을 설치하도록 하셔서 보는데 윈도우 이구용,,21버전은 없어요 22만 있어서 이걸로 설치 다운로드 해서 사용해도 되죠?