묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
6-2 Parameter 강의에서 질문이 있습니다
public static void powerByExP(int number, int exponent) {int result = 1;for(int i = 0; i < exponent; i++) {result *= number;}에서 result*=number; 식에대해서 이해가 안됩니다기존에는 for문을 쓰면 i 값이 기재가 되어야 i값이 적용이 되는걸로 알고있는데 result = result * number * ( i ) 인건가요??? 숫자를 대입하면 1 = 1*2 로 2가 나올것같은데 2^3 인 8이 나오는게 이해가 안됩니다.. 제가 for문에 대해서 제대로 이해를 못하고있는걸까요? 위식에서는 i값을 넣은곳이 없는데 어떻게 반복이 되는건지 잘 모르겠습니다...
-
해결됨자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
p.243
VIPCustomer 생성될 때 부모 클래스가 먼저 자동호출 된다면 p.243 힙 메모리 구조 그림에서 부모클래스 멤버변수들이 힙 메모리에 먼저 자리잡아야 하지 않나요?
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
p.237
public class VIPCustomer extends Customer {private int agentID;double saleRatio;public VIPCustomer() {customerGrade = "VIP";bonusRatio = 0.05;saleRatio = 0.1;}public int getAgentID() {return agentID;}}p.236 전페이지 보면 calcPrice()도 오버라이딩 되었는데, p.237 예제에도 적어줘야 하지 않나요? 생략하게되면 메서드 호출시 기존 Customer 클래스의 할인율이 적용되지 않는 calcPrice()가 사용되는걸로 이해하고 있어서 질문드립니다.
-
해결됨스프링 핵심 원리 - 기본편
생성자 주입 시, final 키워드를 넣어야만 할까요?
final 키워드를 넣는 것이 가능하다.하지만, final 키워드를 넣어야만 하는가가 의문입니다. 만약, 생성자 주입 시 final 키워드를 넣어야 하는 이유가 뭔가요 라고 질문 받았을 때 뭐라고 답해야할까요?
-
해결됨스프링 핵심 원리 - 기본편
destroyMethod = "close" 에 대해서 궁금한게 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]destoryMethod = "closed" 라고 하고NetworkClient 클래스에 private void closed() { System.out.println("destroy"); disconnect(); } 이렇게 메소드는 만들었는데 접근제한자가 private 인데도 detoryMethod= "closed"로 사용이 가능한데 이게 접근제한자와는 상관없이 사용가능한 이유를 알고싶습니다..
-
미해결스프링 핵심 원리 - 기본편
SingletonTest.java 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]기본편 - 프로토타입 스코프코드를 입력하던 중SingletonTest.javaa에서 assertions, assertThat에서 에러가 발생하였습니다.그래서 build.gradle에 다음과 같이 코드를 추가하고, reload를 하였음에도해당 오류가 사라지지 않는데, 어떻게 해결하면 될까요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
if문 작성 시 경고문 관련
if 문 작성 시"condition is always true" 이런식으로 경고문이 뜨면서실행이 되지 않는데 어떻게 해결할 수 있을까요?간단한 if문도 실행이 되지 않습니다ㅜㅜ
-
미해결스프링 핵심 원리 - 기본편
초기화, 소멸 인터페이스의 단점에서 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]초기화, 소멸 인터페이스의 단점부분에서 아래의 내용이 언급 되었습니다. 내가 코드를 고칠 수 없는 외부 라이브러리에 적용할 수 없다클래스파일로 컴파일되어있는 수정이 불가한 라이브러리를 받았다고 가정해보자. 이 라이브러리의 초기화와 종료 메서드를 무조건 호출 해주어야 한다. 스프링 빈으로 이미 등록 했는데 우리는 코드를 고칠 방법이 없다. 위에 주어진 예시가 잘 이해가 안가서 좀 더풀어서 설명 가능하실까요?
-
해결됨자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
p.196
안녕하세요.p.196 나혼자 코딩 풀어보니 실행은 되는데 정답 코드랑 조금 다르네요 이렇게 풀어도 괜찮나요? 클래스별로 변수도 잘 나눠서 배치하고 싶은데 그게 잘 안된 것 같고 돌아갈뿐이지 문제가 많은 것 같아서 피드백 한번 부탁드려요!public class Car {int carNum = CarFactory.getCarSerial(); public int getCarNum() {return carNum;}}=====================================================public class CarFactory {private static CarFactory carFactory;private static int carSerial = 1000; public static CarFactory getInstance() {if(carFactory == null) {carFactory = new CarFactory();}return carFactory;} public static int getCarSerial () {return carSerial;} public Car createCar() {carSerial++;return new Car();}}
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
질문드려요
public class Company {private static Company instance = new Company(); private Company() {} public static Company getInstance() {if(instance == null) {instance = new Company();}return instance;}}위에 코드에서 유일한 객체를 생성하면 instance에 참조값이 저장되고,그럼 if(instance == null) 조건문에서 instance에는 참조값이 저장되어 있으므로 null이 아니라서 패스하고 return instance 하게 되는게 맞을까요?만약 유일객체를 먼저 생성하지 않았다면 멤버변수로 private static instance;만 선언하구 함수 호출시에 유일 객체 생성해서 리턴하는 방법으로 사용하면 될까요?객체를 생성하고 나면 인스턴스가 자동초기화된 상태일텐데 null이랑 동등 비교하니 조금 헷갈려서 질문드려요!
-
해결됨스프링 핵심 원리 - 기본편
required = false 에 대해서 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용] @Autowired(required = true) public void setNoBean1(Member noBean1){ System.out.println("noBean1 = " + noBean1); } 해당 코드에서 오류가 나는 이유가 Member가 빈으로 등록되어있지 않아서 자동 주입할 대상이 없어서 나는 오류라고 하셨는데 그렇다면 Nullable,OPtional은 스프링 자체적으로 무엇인가 처리해준다고 보면 되는것일까요?
-
해결됨스프링 핵심 원리 - 기본편
싱글톤 문제점: DIP 위반
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]제목의 키워드에 관한 질문글들을 읽으면서 의문이 생겨 질문드립니다. 먼저 제가 질문글들을 읽고 이해하고있는 내용은 다음과 같습니다.싱글톤을 사용한다하여 무조건 DIP를 위반하는 것이 아니다. AppConfig를 사용하면 DIP위반을 피할 수 있다. 즉, 클라이언트에서 getInstance로 싱글톤 객체를 직접 참조하는 것이 아닌, 외부에서 getInstance로 반환된 싱글톤 객체를 의존성 주입을 받아 사용하면 DIP를 준수 할 수 있다.그런데 이렇게 이해를 하니 DIP를 위반하는 것은 싱글톤을 사용함에 따라 생기는 문제가 아닌 의존성주입을 사용하지 않음에 따라 생기는 문제인것 같다는 의문이 생깁니다."의존관계상 클라이언트가 구체 클래스에 의존한다"라고 되어있는데, 기존에 역할에만 잘 의존하고 있던 클라이언트가 구현체가 싱글톤으로 바뀜에 따라 역할이 아닌 구체에 의존해야만하는 강제적인 상황이 발생하는 경우가 존재하는건가요?
-
미해결Java TPC 실전프로젝트 (Java API 활용)
아래 소스의 차이가 뭘까요?
StringBuffer stringBuffer = new StringBuffer(); String readLine; while ((readLine = bufferedReader.readLine()) != null) { stringBuffer.append(readLine); } bufferedReader.close(); StringBuffer stringBuffer = new StringBuffer(); String readLine; while (bufferedReader.readLine() != null) { readLine = bufferedReader.readLine(); stringBuffer.append(readLine); } bufferedReader.close(); 첫번째 소스와 두번째 소스의 차이점이 어떤걸까요?둘 다 bufferedReader.readLine() != null 일 경우에 readLine에 값을 대입하는 식인데첫번째로하면 오류가 안나는데 두 번째로 하면 오류가 나네요..위 두 소스의 차이점을 알고 싶습니다.
-
미해결스프링 핵심 원리 - 기본편
인텔리제이 하단 창이 제대로 안나옵니다.
갑자기 좌측하단창이 나오지 않습니다..어떻게 해야 나오게 할 수 있을까요?
-
해결됨스프링 핵심 원리 - 기본편
객체 생성에 대해 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)아니요3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]저와 같은 생각을 하신분이 질문을 했는데제가 이해한게 맞는지 여쭤봅니다.ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); 이게 아닌 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);으로 강의에서 말씀하셨는데개방 폐쇄 원칙에는 ApplicationContext 를 사용하는게 맞지만AnnotationConfigApplicationContext 에서 필요한 기능이 있기때문에 AnnotationConfigApplicationContext 이걸로 사용했다고 보면 될까요? 개방 폐쇄 원칙에는 어긋나지만 테스트기때문에 사용했다 라고 보면 될까요?
-
미해결스프링 핵심 원리 - 기본편
실제 업무중에 조회빈 중복문제가 자주발생하는지?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]이번 강의를 들으면서 궁금한 점이 생겨서 질문드립니다실제로 회사내 개발업무 중 조회 빈이 2개 이상 중복되는 문제가 자주 있나요?
-
미해결스프링 핵심 원리 - 기본편
기본편 강의 다음에 어떤 강의를 수강해야할지 고민입니다
안녕하세요 영한님 기본편을 오늘로 마무리하게 된 학생입니다. 스프링과 MySQL을 학습했지만, 아직 부족한 점이 많다고 느껴서 스프링 강의를 듣기 시작했습니다. 실제로 기본편 강의를 들어보니 제가 놓치고 있던 부분들이 많아서 놀라기도 했습니다. 우선 너무 좋은 강의 감사하다는 말씀드리고 싶네요 ㅎㅎ제가 다음달부터 프로젝트를 들어갈거 같은데, 이번달내로 학습 로드맵의 모든 강의를 다 듣는게 좀 부담스러울 수도 있겠다는 생각이 들었습니다. 그래서 기본편을 마무리하고, JPA를 시작해도 무리가 없을지 여쭤보고 싶습니다. 물론 생각보다 스프링에 대해 알아가야 할 점이 많다고 느껴, 프로젝트를 진행하면서 다른 스프링 강의들도 전부 들을 예정입니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
random 질문있어요
강의에서 random 클래스에서double min = 5.0;double max = 10.0;따로 min max를 지정 해주고 계산식으로값이 나오게 하던데 그냥 origin 값을 넣어주면 바로 되던데 다른건가요?아니면 버전이 업그레이드 되서 가능한건가요? System.out.println("랜덤 실수 :" + random.nextDouble(5.0,10.0));//범위 System.out.println(random.nextInt(1,46));//랜덤 로또 번호
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
나도코딩님의 자바 완강 후 들을만한 강의 추천 질문
안녕하세요 나도코딩님금일로 나도코딩 선생님의 "나도코딩의 자바 기본편 - 풀코스 (20시간)"를 완강하게되었습니다.나도코딩님의 자바 강의를 다 듣고다음으로 수강하면 좋을 자바 강의 추천해 주실 수 있을까요?인프런에 있는 강의면 더 좋겠지만 꼭 아니어도 됩니다!
-
해결됨스프링 핵심 원리 - 기본편
싱글톤 적용이 안된 이유가 궁금합니다.
@Test void configurationTest(){ ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); MemberServiceImpl memberService = ac.getBean("memberService", MemberServiceImpl.class); OrderServiceImpl orderService = ac.getBean("orderService", OrderServiceImpl.class); MemberRepository memberRepository = ac.getBean("memberRepository", MemberRepository.class); //모두 같은 인스턴스를 참고하고 있다. System.out.println("memberService -> memberRepository = " + memberService.getMemberRepository()); System.out.println("orderService -> memberRepository = " + orderService.getMemberRepository()); System.out.println("memberRepository = " + memberRepository); assertThat(memberService.getMemberRepository()).isSameAs(memberRepository); assertThat(orderService.getMemberRepository()).isSameAs(memberRepository); } @Configuration public class AppConfig { @Bean public MemberService memberService(){ System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService(){ System.out.println("call AppConfig.orderService"); return new OrderServiceImpl( memberRepository(), discountPolicy() ); } @Bean private static MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean private static DiscountPolicy discountPolicy() { // return new FixDiscountPolicy(); return new RateDiscountPolicy(); } } 실행 결과call AppConfig.memberServicecall AppConfig.memberRepositorycall AppConfig.orderServicecall AppConfig.memberRepositorycall AppConfig.memberRepositorymemberService -> memberRepository = MySpringStudy.core.v4.member.MemoryMemberRepository@30c93896orderService -> memberRepository = MySpringStudy.core.v4.member.MemoryMemberRepository@59a008bamemberRepository = MySpringStudy.core.v4.member.MemoryMemberRepository@338c99c8java.lang.AssertionError: Expecting actual: MySpringStudy.core.v4.member.MemoryMemberRepository@30c93896and: MySpringStudy.core.v4.member.MemoryMemberRepository@338c99c8to refer to the same object 강의에서 진행하신대로 스프링 컨테이너에서 빈을 주입받아서 사용했는데, 싱글톤으로 실행되지 않는 이유가 뭔지 궁금합니다..