묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Java TPC 실전프로젝트 (Java API 활용)
BookDTO 생성자 질문
BookDTO 클래스를 설계할 때 getter와 settter를 사용하는데 왜 생성자를 생성하는지 궁금합니다.
-
미해결자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
안녕하세요. 람다에서 외부변수를 사용하는 Closure관련해 궁금해 질문드려요.
안녕하세요. 먼저 질좋은 강의 만들어주시고 제공해주셔서 감사드려요!강의중 Closure가 자바와 다르게 final이 아닌 var변수를 람다안에서 값을 변경가능한것까지 이해하였습니다. 다른 궁금증이 하나 생겨서요. Closure가 람다를 진입하기전 변수를 포획해서 진행한다고 하셨는데, 이는 동시성 문제로부터 자유롭나요?
-
미해결스프링 핵심 원리 - 기본편
원래 Test 는 나중에 작성하는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에서 Test파일을 돌려보기전에XXX_App을 만든후 XXX_Test를 돌리잖아요그러면 결국 완성본까지 만든 후 Test를 돌리는건데Test를 나중에 만드는 이유가 뭔가요?(강사님이 콘솔로 확인하냐 Test로 확인하냐 차이라고 하시는데 짧은코드에 서로 App과 Test가 동일한코드라 콘솔로 확인해도 충분하기에 XXX_App을 만들어서 콘솔로확인한건가요?)
-
해결됨스프링 핵심 원리 - 기본편
pdf 자료 6. 컴포넌트 스캔 5페이지에 질문이 있습니다.
[질문 내용]여기에 질문 내용을 남겨주세요.기존 스프링 빈 저장소에 저장을 할때 빈 객체는 그 클래스가 리턴하는 객체를 빈 객체에 저장을 했는데요 5페이지 그림을 보면서 의문이 듭니다. 빈 이름이 저렇게 설정이 되는거는 이해를 했지만 빈 객체는 왜 MemberServiceImpl 이 등록이 되나요? 왼쪽 코드에서 리턴하는 객체가 없는데 MemberServiceImpl 이 빈 객체로 등록이 되는 이유가 궁금합니다.감사합니다.
-
미해결스프링 핵심 원리 - 기본편
예제-주문과 할인 도메인 실행과 테스트 오류
안녕하세요 선생님! 강의 잘 수강하고있습니다!!예제부분 수강중에 마지막 주문과 할인 도메인 실행과 테스트 과정에서 실행시켰을때 테스트 과정인 OrderServiceTest 에 오류가 납니다 ㅠㅠ 해결방법 알려주시면 감사하겠습니다 ㅠㅠ
-
해결됨스프링 핵심 원리 - 기본편
xml이 유효하지 않는다고 뜨네요.. 혼자 봤는데 어떻게 해결해야할지 감이 안잡혀요..
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="memberService" class="hello.core.member.MemberServiceImpl"> <constructor-arg name="memberRepository" ref="memberRepository"/> </bean> <bean id="memberRepository" class="hello.core.member.MemoryMemberRepository"/> // xml이랑 AppConfig랑 완전 같다. <bean id="orderService" class="hello.core.order.OrderServiceImpl"> <constructor-arg name="memberRepository" ref="memberRepository"/> <constructor-arg name="discountPolicy" ref="discountPolicy"/> </bean> <bean id="discountPolicy" class="hello.core.discount.RateDiscountPolicy"/> </beans> 어떤게 문제인지 감이 안잡힙니다... 경로상 문제인거 같은데 해결방법을 찾을 수가 없네요..
-
미해결[코드팩토리] [입문] Dart 언어 4시간만에 완전정복
schedule_bottom_sheet 창 실행오류
안녕하세요. 'Schedule 저장해버리기' 강의를 듣고 따라하던중 갑자기 어느순간 bottom sheet 버튼을 클릭하면 창이 나오지 않고 사진처럼 오류난 것처럼 회색창으로 변합니다.다른 메인 캘린더나 스케쥴카드 이런 부분에서는 전혀 오류가 없는데 bottom sheet 버튼을 눌렀을 때 이런 오류가 생깁니다.에러코드는RenderBox was not laid out: RenderPointerListener#fd365 relayoutBoundary=up1 NEEDS-COMPOSITING-BITS-UPDATE'package:flutter/src/rendering/box.dart':Failed assertion: line 2001 pos 12: 'hasSize' is not true.이렇게 뜨는데 어느부분이 잘못되었는지 도저히 원인을 못찾겠습니다.도움 부탁드립니다.
-
미해결스프링 핵심 원리 - 기본편
memeberService.join
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요.givenwhen 에서 memberService.join(member) 하는 이유가 무엇인가요..?
-
해결됨스프링 핵심 원리 - 기본편
pdf 자료 5. 싱글톤 컨테이너 12페이지에 대해 질문이 있습니다.
[질문 내용]여기에 질문 내용을 남겨주세요.확인해보면 memberRepository 인스턴스는 모두 같은 인스턴스가 공유되어 사용된다. AppConfig의 자바 코드를 보면 분명히 각각 2번 new MemoryMemberRepository 호출해서 다른 인스턴스가 생성되어야 하는데? 어떻게 된 일일까? 혹시 두 번 호출이 안되는 것일까? 실험을 통해 알아보자.라는 내용이 있는데요 이 부분에서 다른 인스턴스가 왜 생성이 되어야 하는지 이해가 가질 않습니다.AppConfig를 보면@Bean public MemoryMemberRepository memberRepository() { return new MemoryMemberRepository(); }이러한 코드가 있어서 스프링 컨테이너에 스프링 빈이 등록이 될때 memberRepository 도 등록이 되서 관리가 되므로 어디든 new MemoryMemberRepository를 호출해도 똑같은 인스턴스가 생성이 되어야 하는거 아닌가요?감사합니다.
-
해결됨스프링 핵심 원리 - 기본편
안녕하세요 스프링 컨테이너와 스프링 빈 pdf 자료 2페이지에서 질문이 있습니다.
스프링 빈 등록 그림에서 memberService()을 예시로 들면 @Bean 어노테이션으로 인해 스프링 빈 저장소에 빈 이름으로 메소드 이름인 memberService가 저장이 되고 빈 객체는 memberService()가 리턴하는 값이 저장이 된다고 이해를 했습니다. 여기서 질문이 있는데요 저장된 빈 객체의 데이터 타입은 MemberService가 맞나요? 빈 객체가 MemberServiceImpl 이거 인데 데이터 타입은 MemberService가 맞는지 헷갈려서 질문을 했습니다. 빈 객체라는게 스프링 컨테이너에 등록된 스프링 빈이 맞나요? 감사합니다.
-
해결됨스프링 핵심 원리 - 기본편
MemberServiceTest 실행 시 오류
아래는 MemberServiceTest의 코드입니다package hello.core.member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.util.Assert; public class MemberServiceTest { MemberService memberService = new MemberServiceImpl(); @Test void join() { //given Member member = new Member(1L, "memberA", Grade.VIP); //when memberService.join(member); Member findMember = memberService.findMember(1L); //then Assertions.assertThat(member).isEqualTo(findMember); } }
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
c++을 공부하고 Java를 공부하려고 하는데 클래스부터 진행하도 괜찮을까요??
지금 연산자 강의를 듣고있는데 c++과 중복되는 부분이 많아서 시간 낭비같이 보여서 바로 후반전인 클래스부터 강의를 들을까하는데..... 어떻게 할까요??
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
Scanner, FileReader, BufferedReader 등 각각의 차이점 및 섹션 14. 퀴즈 #13의 호출 순서와 관련된 질문입니다...ㅎ
안녕하세요, 나도코딩 선생님...ㅎ 동영상 강의들 중 섹션 14. 입출력과 파일을 보다가 궁금증이 생겨서 질문을 하게 되었습니다...ㅎ(1) 섹션 14. 입출력과 파일을 공부하면서, 파일을 읽는 여러 가지 방법들을 접하고 있습니다. 공부하면서 BufferedReader, FileReader, Scanner등 여러 가지 방법들이 있는데, 이들은 어느 때 쓰이는 것이 가장 좋은가요? 예를 들면, BufferedReader는 큰 용량의 파일을 읽는데 적합하다 던가, 아니면 Scanner는 키보드 입력을 받는 것 외에도 파일을 읽고자 할 때, FileReader와 같은 역할을 한다 이런거요!만약 어느 한 텍스트 파일을 읽고자 할 때, Scanner를 예로 들면, 이렇게 코드를 적어볼 수 있을까요? 모든 건 이미 import가 있다고 가정하고 작성해봤습니다...ㅎ:... // 이전 코드 생략 try { File file = new File("testing.txt"); Scanner scanner = new Scanner(file); while(scanner.hasNext()) { System.out.println(scanner.next()); // 여기서 만약에 여러 줄들로 이루어진 텍스트에서 한 글자씩 따오려면, // 이전에 문자열 관련 질문 처럼 scanner.next().charAt을 쓰나요? } scanner.close(); } catch (FileNotFoundException e1) { e1.printStackTrace(); // 예외 처리 1 } catch (IOException e2) { e2.printStackTrace(); // 예외 처리 2 }(2) 섹션 14에 있는 퀴즈 #13과 관련된 질문입니다! 제가 try문 안의 String input; scanner의 호출 스택(순서)을/를 제대로 이해했는지 알고 싶습니다...ㅎ... // 이전 코드 생략 Scanner scanner = new Scanner(System.in); try (BufferedReader br = new BufferedReader(new FileReader("saying.txt"))) { ... // 퀴즈 시작 및 제목 출력 String quiz; String answer; String input; while (true) { quiz = br.readLine(); answer = br.readLine(); if (quiz == null || answer == null) { break; } System.out.println(" (문제) " + quiz); System.out.println(" (답 입력) "); input = scanner.next(); ... // input.equal(answer), if-else문 생략 } ... } catch (IOException e) { e.printStackTrace(); // 예외 처리 }여기 이 코드에서, quiz랑 answer는 1줄 1줄 br.readLine();을 통해 단어 및 문장들을 인식하는 반면, 입력하는 답안의 경우에는 우선 try문 안에서 String input;을 선언하고, 대입 연산자 = 를 통해 .next();로 입력을 받은 다음, string으로 선언된 input을 .equal();로 입력받은 값과 정답을 비교하여 최종 결과를 출력하는 건가요?프로그래밍 언어를 공부하다보니 여러 질문들과 궁금증이 많이 쌓이는데, (특히 최근에 들어선 더 많아졌네요...ㅎ) 그 때마다 제 궁금증을 답글을 통해 잘 해소줘서 진심으로 감사합니다..ㅎ :)
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요! Java를 공부하고 따로 노션에 필기하려고 하는데 문제가 될까요...?
몰론 페이지 맨 위에 강의출처 링크는 남겨놓겠습니다!! 동영상을 다시 보는 것 보다 제가 따로 코드를 따라치며 생각을 정리하는 게 효율적일 것 같아서요... 괜찮을까요??c++을 부랴부랴 배우고, JAVA를 뒤늦게 배우는데 양질의 강의를 제공해주셔서 감사합니다! :)
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
생성자 안에 메소드...?!
안녕하세요, 선생님...ㅎ 갑작스럽게 생각난 질문인데요...ㅎ 제가 예시로 아래처럼 클래스를 만들어 봤는데, 혹시 상속받은 클래스의 super(); 생성자 안에 이렇게 메소드도 넣을 수 있나요? 자바를 공부하면서 지금 여러 소스 코드들을 보고 있는데, 어느 소스코드는 super(); 생성자 안에 메소드를 집어 넣은 경우가 있더라구요?! 만약에 이렇게 만들 수 있다면, 언제 어느 때 가능할까요?클래스는 정말 제가 생각나는대로 적어서 컴파일 에러 같은 건 생각하지 않았습니다. 부디 너그럽게 봐주셨음 합니다...ㅎclass Kid extends SomethingAwesome { Kid(int age) { super(comment(age)); // super() 생성자 안에 comment메소드 삽입 } public String comment(int age) { String saySometing = ""; if (age > 3 && age < 7) { saySomething += "엄마, 과자 사줘!"; } else if (age >= 7 && age < 11) { saySomething += "엄마, 이젠 로보트 사줘!"; } return saySomething; } public static void main(String[] args) {...} // 메인 메소드 실행 }또한 일반적인 생성자 (Constructor)를 만들 때도, 생성자 안에 전달 값외에도 메소드를 넣을 수 있는가요? 이것도 마찬가지로 위에 예시로 코드를 적은 것 처럼 제 나름대로...ㅎ 써봤습니다...ㅎ 위의 예시 처럼 정말로 생성자 안에 메소드를 넣는게 가능한지 궁금해서 약간 무리수를 두면서(?) 코드를 적어봤습니다..ㅎ 이것도 너그럽게 봐주세요...ㅎ 감사합니다 : )class ThankYouNote { // 제가 생각해도 좀 많이 이상하지만, // 메소드를 이렇게 선언해서 do = thanks(); // this.do = do; 이렇게는 많이 무리수죠? ㅠㅠ // 저렇게 위 클래스 처럼 super 생성자 안에 메소드를 넣는건 처음봐요 ㅠㅠ ThankYouNote() { thanks(); // this(thanks()); // 너무 많이 무리수 인듯하지만 일단 적어봤습니다...ㅠㅜ } public void thanks() { System.out.println("나도코딩 선생님, 감사합니다. :)"); } public static void main(String[] args){ ... } // 메인 메소드 실행 }
-
미해결스프링 핵심 원리 - 기본편
컴포넌트 스캔의 대상 질문드립니다.
BeanA에 달려있는 @MyIncludeComponent의 경우 @Component 어노테이션이 붙어있지 않음에도 어떻게 컴포넌트 스캔의 대상이 되어 빈으로 등록되는 것인지 궁금합니다.혹시 includeFilters에 지정된 클래스는 @Component가 없어도 자동으로 빈으로 등록이 되는 것일까요?
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
자바의 메소드 (Method), return, 전달 값(Parameter)가 갑자기 헷갈립니다...ㅎ
안녕하세요, 다름이 아니라 제가 메소드 (Method), 전달 값 (Parameter), return 개념을 공부하는 도중, 갑작스레 개념이 헷갈려서 이렇게 글을 남깁니다. 나도코딩 자바편에 나온 동영상 강의와 함께, 커뮤니티에도 등록된 글을 보면서 다시 한 번 복습을 하고 있는데요...ㅎString getAddress(){ return "서울시 어딘가"; }이제 전달 값, 그러니까 Parameter가 없는 메소드인 경우, 그냥 위와 같이 return으로 문장을 출력하는 반면에, 갑작스레 parameter와 return이 함께 있는 메소드가 헷갈리더라구요...ㅎ(반환 타입) 메소드 이름 (전달값1, 전달값2, ...) { 반환 값 선언 // 예시 : int result = 0 // 메소드가 수행하는 여러 명령문들 수행 동작 1; // 괄호 안의 전달 값들을 사용 및 동작 수행 수행 동작 2; // 전달 값1, 2들을 이용하여 수행 2 수행 동작 3; // 전달 값1, 2들을 이용하여 수행 3 ... return 반환 값; // return result - 결과 값 반환 }int add (int x, int y) { int result = x + y; // 이미 int result = 0;을 내포함 return result; }제가 위의 메소드들에서 이해 한 부분은 (혹시 몰라서 다른 예시도 들고 왔습니다..ㅎ), void를 제외한 나머지 자료형 타입 (String, int 등...)들은 return을 가지고, 이 때 return을 하는 것은 반환 값이 되는데, 여기서 return 반환 값은 이미 이전에 괄호 안의 전달 값들을 이용하여, 수행 동작들을 마친 다음 반환 값을 저장하는 과정으로 이해하는 게 맞을까요? 이렇게 메소드가 수행 된 다음엔, main 메소드에서 참조변수를 통해 수행되는 과정으로 최종 결과를 출력하는 거구요...ㅎ 이렇게 이해하는게 올바르게 이해 한 것일까요?(반환 타입) variable = 메소드 이름(); System.out.println(variable);System.out.println();을 쓰는게 일반적이진 않지만, (다른 메소드를 불러서 처리하거나, 아니면 메소드 안에 이미 print문이 저장되어 있을 수도 있기 때문에) 제 스스로 이해를 돕기 위해서 일련의 과정을 위에 나온 것처럼 제 나름대로 정리해봤습니다. 또한 프로그래밍 공부를 계속하면서, 객체 지향 프로그래밍언어(OOP)의 기초 부분에서 가끔 헷갈릴 때가 있는데 (평상시에는 잘 씀에도 불구하고,) 그 때 마다 좋은 답글을 남겨주셔서 감사합니다. 덕분에 어려운 Java 프로그래밍 공부 잘 헤쳐 나가고 있습니다 :) 다시 한 번 감사합니다 :)
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈#6에서 쓰인 substring 메소드의 작동 원리?
안녕하세요, 선생님. 다름이 아니라 제가 퀴즈#6을 풀면서, substring의 작동원리에 대해서 궁금한 것이 생겨 이렇게 질문을 남깁니다...ㅎ public static String getHiddenData(String data, int index) { String hiddenData = data.substring(0, index); // for (i = index; i < data.length(); i++) { ... } for (int i = 0; i < data.length() - index; i++;) { hiddenData += "*"; } return hiddenData; }public static String getHiddenData(String data, int index) {...}; 메소드에서, 처음 저장 될 데이터 hiddenData 에서 우선 대입 연산자 =를 통해 data.substring(0, index);를 저장하고, String으로 저장된 문자열을 0번째 인덱스부터 index 직전 자리까지 정상적으로 문자열을 main 메소드를 통해 출력을 한 다음, for문을 통해서 index 이후 자리부터는 일반적인 문자열 대신 별표(*)로 덮어쓰고 출력하는 걸로 이해했는데, 제가 올바르게 이해 한 걸까요?...ㅎ이전에 같은 substring 개념을 이용한 퀴즈#3은 문제를 다시 풀었을 땐 별 무리가 없었는데, 막상 퀴즈#6에서는 메소드의 작동 원리가 눈에 잘 안 들어오네요...ㅎ 참, 제가 질문 글들을 올릴 때 마다 항상 좋은 답변은 감사합니다...ㅎ 덕분에 어려운 프로그래밍 공부를 나도코딩 선생님 덕에 잘 헤쳐나가고 있습니다...ㅎ
-
미해결스프링 핵심 원리 - 기본편
getBean()의 파라미터
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]getBean() 함수를(1번 코드)MemberService memberService = applicationContext.getBean("memberService", MemberService.class);이렇게 사용을 해주셨는데 인텔리제이에서 자동완성 기능을 사용했더니(2번 코드)MemberService memberService = applicationContext.getBean(MemberService.class);이런 식으로 나오더라구요. (1번 코드)처럼 파라미터를 두개로 사용할 때, bean 이름과 파라미터 name 값이 다르면 오류가 생겨요. 그러면 애초에 name 파라미터 값이 필요한 이유가 있는걸까요??그리고 또 궁금한 것이 (2번 코드)로 사용을 안하고 왜 (1번 코드)로 사용을 하는 것인지 궁금해요
-
해결됨스프링 핵심 원리 - 기본편
NoSuchBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberService' available 오류
질문드립니다!압축 코드 링크 : https://drive.google.com/file/d/1c30gucjwJ5fwL7lJtsSv2SR2-pWLPLbR/view?usp=sharing 자꾸 스프링 컨테이너에 bean이 등록되어 있지 않다고 오류가 뜨는데 도저히 해결 방법을 모르겠습니다. ㅠㅠ