묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
@Autowired 오류는 나는데 테스트 성공해서 결과값이 나왔을때 어떻게해야되나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@Autowired 오류는 나는데 테스트 성공해서 결과값이 나왔을때 어떻게해야되나요?질문1. 오류는 나는데 테스트 성공해서 결과값이 나왔을때 어떻게해야되나요?다른사람 문제는같은데 그냥 highlight allProblems -> none 바꾸라고 하는데 그렇게 하고싶지 않고 원인을 알아야 나중에 같은 문제 생겨도 스스로 해결 하고싶어서요 구글에 찾아봐도 해결이 안되네요 빨간줄나는 오류 원인질문 2. @Autowired(required = true)을 했을때 멤버가 스프링빈을 찾을 수없다고 나오는데@Autowired(required = false)일때도 같은 오류가 나요 의존관계주입을 잘못 된건가요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
src 파일 사라짐
수시로 저장을 해도 intellij에서 src 파일이 자꾸 사라져서 실습하던 내용이 없어졌는데 왜 그러는걸까요?파일을 다시 복구하는 방법이 있을까요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
인터페이스 질문입니다
안녕하세요 나도코딩 강사님인터페이스 강의를 듣다가 이해가 안가는 부분이 많아서 질문드립니다챕터8의 02인터페이스 코드 부분에서 질문 1 :Detectable fireDetector = new FireDetector(); Detectable advancedFireDetector = new AdvancedFireDetector(); FactoryCam factoryCam = new FactoryCam(); factoryCam.setDetector(fireDetector); factoryCam.setReporter(normalReporter);코드 첫번째줄을 해석하면Detectable 이라는 인터페이스를 구현하는 FireDetector 클래스로부터 fireDetector 객체를 생성한 것이라고 이해하는게 맞는건가요?질문 2 :public class FactoryCam extends Camera implements Detectable, Reportable { private Detectable detector; private Reportable reporter; public void setDetector(Detectable detector) { this.detector = detector; } public void setReporter(Reportable reporter) { this.reporter = reporter;FactoryCam 클래스에서 인터페이스 변수들(Detectable, Reportable)을 선언해주고setter 메소드를 만들어서 매개변수로 Detectable 이라는 인터페이스 변수인 detector를 전달받게 했는데FactoryCam factoryCam = new FactoryCam(); factoryCam.setDetector(fireDetector); factoryCam.setReporter(normalReporter);메인 메소드에서 setDetector() 와 setReporter() 메소드의 전달값으로 왜 인터페이스 변수(Detectable, Reportable)를 전달해주지 않고클래스로부터 생성된 객체인 fireDetector 와 normalReporter를 전달값으로 전해주는지 이해가 안됩니다
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 8번 질문합니다ㅜㅜ
SpeedCam 클래스내에서 AccidentDetector와 VideoReporter 를 사용하기 위해 인스턴스 변수를 만든 뒤 setter를 사용하는 것까진 이해를 했습니다.public void setDetector(Detectable detector) { // 질문 this.detector = detector; }위의 코드에서 괄호안의 Detectable detector가 매개변수라고 이해했는데 정확히 어떤 역할인지 명확하게 이해가 되지 않아서 질문합니다..ㅜㅜ
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
Array 관한 예문
안녕하세요, 선생님. 어제 배열 파트를 다시 복습하면서 생긴 문제가 있습니다.선생님께서는 for반복문에 for -each문을 이용하면서 출력되도록 하셨는데저는 조금 더 간결하게 하고자 for-each문 없이 주석처리한대로 해보니사이즈[I@75b84c92(재고있음) 이렇게, 사이즈에 해당하는 값은 안나오더라구요.혹시 이렇게 접근하면 안되는 이유가 있을까요? 두 번째로는 메소드에 관한 문제입니다.아래 코드처럼 메소드 값을 메인영역 밖에서 호출 시 에러나는 이유가 무엇인가요?잘은 모르지만 혹시나 지역변수 이런 것과 상관이 있는건가요? //Quiz. 배열을 활용하여 쇼핑몰에서 구매 가능한 신발 사이즈 옵션을 출력하는 프로그램을 작성하시오 //조건 : 신발 사이즈는 250부터 295까지 5단위로 증가 //조건 : 신발 사이즈 수는 총 10가지 //실행결과 : 사이즈 250 (재고있음) / 사이즈 260 (재고있음),,, size에 해당하는 값을 배열로 만들기 // int size = 250; // int size = 255; // int size = 260; int[] size = new int[10]; for (int i = 0; i < size.length; i++) { size[i] = 250 + (5 * i); // System.out.println("사이즈"+size+"(재고있음)"); //왜 안되는지????????? } for (int size2 : size ) { System.out.println("사이즈"+size2+"(재고있음)"); } ------------------------------------------------------------------------------- public class Test1 { //호텔 전화번호 public static String getPhoneNumber(){ return "02-123-4567"; } //호텔 위치 public static String getAddress(){ return "서울시 어딘가"; } //호텔 엑티비티 public static String getActivities(){ return "수영장, 당구장, 볼링장"; } public static void main(String[] args) { //왜 메인영역 밖에서 호출하면 에러나지????? //메인 밑에서 매소드 호출 System.out.println("호텔위치 : "+getAddress()); System.out.println("호텔 전화번호 :"+getPhoneNumber()); System.out.println("호텔 엑티비티 : "+getActivities()); }
-
해결됨스프링 핵심 원리 - 기본편
테스트 검증할 때
안녕하세요 !계속 테스트 검증하는 과정을 반복하다보니 궁금증이 생겨 질문드립니다.강사님이 검증 코드를 작성하실 때이 강의 코드로 예시를 들면memberService.getMemberRepository();가memberRepository1 변수로 있음에도 불구하고assertThat(memberRepository1).isSameAs(memberRepository);으로 작성하지 않고assertThat(memberService.getMemberRepository()).isSameAs(memberRepository);로 작성하시더라구요.이 강의에서뿐만 아니라 지금까지 다른 강의에서도 검증 코드를 작성하실 때 변수를 사용하시지 않는 것 같았는데,혹시 이렇게 작성하시는 이유가 따로 있을까요?
-
해결됨스프링 핵심 원리 - 기본편
DI 과정을 보고 싶습니다.
Controller에서 필요한 파라미터는 ArgumentResolver가 만들거나 변환해서 넣어주듯이 DI과정에스프링 빈 생성할 때 필요한 의존성 주입을 해주는 오브젝트나 메서드가 있을거 같은데 검색을 해도 다 의존성 주입 방법만 나오더라구요..어디서 확인해야 할까요 ??
-
미해결PHP 7+ 프로그래밍: 객체지향
왜 http://localhost/ 로 접근하면 public/index.php 가 실행되나요?
영상 14:07초 부터 뷰표기되는걸 설명주셨는데사작이 public/index.php 인 이유를 모르겠습니다.
-
해결됨스프링 핵심 원리 - 기본편
excludeFilters
@Configuration //없어도 문제가 없다. 하지만 관례상 설정 파일임을 보여주기 위해 붙인다. @ComponentScan( basePackages = "hello.core", excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) )AutoAppConfig에서 @Configuration은 관례상 붙인다라는 답변을 확인했습니다.그리고 exlucdeFilters를 보던 중 궁금증이 생겼습니다.excludeFilters는 @Configuration 클래스를 제외한다고 했는데 그러면 실제 spring을 동작 시켜서 springContainer에 빈이 등록될 때는 autoAppConfig.class는 bean으로 등록이 안되지만 @ComponentScan으로 인해서 나머지 @Component class들은 bean으로 등록된다고 생각했는데 올바르게 생각한것인지 궁금합니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
For반복문 예제
안녕하세요, 선생님블로그에 선생님 강의 내용에서 예제를 따라치면서 정리하는 과정에 궁금증이 생겨서 여쭤봅니다. 증감연산자의 위치가 여러 예제문에서 헷갈리는데요. (sold++;)int max = 30; int noShow = 15; int sold = 0; for (int i = 1; i <=50 ; i++) { System.out.println(i+"번 손님 나왔습니다"); if(i==noShow){ System.out.println(i+"번 노쇼로 넘어갑니다"); continue; } sold++; if(sold==max){ System.out.println("금일 영업종료"); break; } 위의 코드에서 sold++위치를 아래와 같이 바꿀 경우에 for문 중괄호 안에는 들어가 있어서 가능할 거 같은데 결과는 32번 손님까지 이어지네요. 비슷한 예제로 while문에서는 증감연산자의 위치가 break뒤에 위치한 경우 결과값이 올바르게 나오는데 확실하게 증감연산자의 위치를 구별 할 수 있는 방법이 있을까요?int max = 30; int noShow = 15; int sold = 0; for (int i = 1; i <=50 ; i++) { System.out.println(i+"번 손님 나왔습니다"); if(i==noShow){ System.out.println(i+"번 노쇼로 넘어갑니다"); continue; } sold++; if(sold==max){ System.out.println("금일 영업종료"); break; } sold++; } ------------------------------------ //while문 -break int index = 1; //손님 대기번호 , for와 달리 변수가 필요함(중요) while(index <= 50){ System.out.println(index+"번 손님 주문하신 치킨 나왔습니다"); if(index == 20){ System.out.println("금일 재료가 모두 소진되었습니다"); break; } index++; }
-
해결됨자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
객체간 협력이 c++에서 프렌드함수같은건가요?
제목이 내용입니다
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
다차월 배열의 순회
복습 중에 헷갈리는 게 있어서 질문 드립니다 :)질문-1) 코드를 반복해서 작성하는 이유가 뭔가요?(아래 비교 예시 있습니다.)String[][] seats = new String[10][15]; String[] eng = {"A","B","C", "D", "E","F","G","H","I","J"}; for (int i = 0; i < seats.length; i++) { for (int j = 0; j < seats[i].length; j++) { seats[i][j] = eng[i] + (j + 1); } } for (int i = 0; i < seats.length; i++) { for (int j = 0; j < seats[i].length; j++) { System.out.print(seats[i][j] + " "); } System.out.println(); }String[][] seats = new String[10][15]; String[] eng = {"A","B","C", "D", "E","F","G","H","I","J"}; for (int i = 0; i < seats.length; i++) { for (int j = 0; j < seats[i].length; j++) { seats[i][j] = eng[i] + (j + 1); System.out.print(seats[i][j] + " "); } System.out.println(); } 이렇게 줄여도 똑같이 출력되는 데 반복하는 이유가 궁금합니다. 배열 값 업데이트를 위해서 그렇게 한 건가요? 질문-2) 누군가 표를 구매해서 좌석 업데이트 할 때, 코드 진행 방식이 헷갈립니다. 1번에서 2차원 배열의 형태가 만들어 진 후,seats[7][8] = "___"; seats[7][9] = "___"; 여기서 업데이트 된 후에 아래에서 출력할 때 새로운 배열 값인 "___" 이게 추가된 상태로 출력되는 건가요?// 1번 String[][] seats = new String[10][15]; String[] eng = {"A","B","C", "D", "E","F","G","H","I","J"}; for (int i = 0; i < seats.length; i++) { for (int j = 0; j < seats[i].length; j++) { seats[i][j] = eng[i] + (j + 1); } } // 2번 // 누군가 H9, H10 자리에 표를 구매 seats[7][8] = "___"; seats[7][9] = "___"; for (int i = 0; i < seats.length; i++) { for (int j = 0; j < seats[i].length; j++) { System.out.print(seats[i][j] + " "); } System.out.println();
-
미해결스프링 핵심 원리 - 기본편
static 키워드 왜 쓰냐고 면접에서 물어보면 이렇게 답하면 될까요?
static 을 쓰면 static필드는 클래스 소유가 됨으로 어디서 인스턴스를 생성하든 static 필드는 인스턴스 각각의 독립적인 필드가 아니라 같은 필드를 공동 소유하게 되기 때문에 static 키워드를 씁니다.
-
미해결PHP 7+ 프로그래밍: 객체지향
http://localhost:8080/posts/1 접근시 배열 0값 표기 오류
Route::add('get','/posts/{id}', function($id){ echo ($id); var_dump(Adaptor::getAll('select * from posts where `id`= ?', [ $id ] )); });route.php public static function add($method, $path, $handler, $middlewares = []) { self::$contexts[] = new RequestContext($method, $path, $handler, $middlewares); } 위처럼 불러와도배열 표기가 아무것도 안나오는데 어떤부분을 확인해야 강의처럼 내용확인이 가능할까요?{id}array(0) { } 이렇게만 표기 됩니다.$id값을 못 읽는것 같은데 어떻게 해결해야 할지 모르겠네요
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
recurvie (fractal), GUI, Server
안녕하세요.공부를 하다보니 조금 더 욕심이 생기네요. 다음에 기회되신다면 recurvise, GUI-Fxml과 scene builder, Server 쪽 주제로 강의 해주시면 감사하겠습니다. 자바를 공부하다보면 위의 주제는 꼭 나오더라구요. 조만간 자바 완전체 기다해겠습니다.^^건승하세요.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
if문 - 부정연산자
안녕하세요.If문 부정연산자 관련하여 문의 드립니다. 아래 식에서 !(부정연산자)가 추가되어 false -> true 로 되는 것까지 이해하였습니다.그럼 if (hour < 14 && morningCoffee == true) 라는 식이 성립되는데if (hour < 14 && morningCoffee == false) 이 식과 어떻게 동일한지 이해가 되지 않습니다.. hour = 10;boolean morningCoffee = false; if (hour < 14 && !morningCoffee) sout("아이스 아메리카노 +1")
-
미해결스프링 핵심 원리 - 기본편
이 코드와 그림이 DIP 원칙이라고 봐도 될까요?
오랜만에 공부하느라 다 까먹어서 질문드립니다 ㅠㅠ이 코드와 그림이 DIP 원칙이라고 봐도 될까요?출처는 남궁성 자바의정석 유튜브입니다 !
-
미해결자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
단순 선호도에 대한 궁금증 입니다!
6강을 듣고 있는데요...., down to 등등이 함수라고 하셨는데요.예를 들어 이렇게도 쓸 수도 있을것 같아요. IntRange(1, 3).step(3)자바를 오래 사용한 입장에서는 사실 함수로 직접 구현하는것이 조금 더 눈에 익숙하고, 왠지 모르게 심리적 안정감(?)을 주기도 하는데요.현업에서 코틀린을 사용할 때는 위처럼 함수를 직접 선언하는게 아닌 ..., step을 사용하는지 궁금합니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
수강 범위에 대한 질문입니다 ㅠㅠㅠ
안녕하세요 나도코딩님 오늘도 열심히 공부중인 학생입니다 ㅠㅠㅠ복수전공 과목 중 자바로 배우는 자료구조를 수강중인데 사전에 자바 공부도 없이 듣는 수업이라 도통 무슨 소린지 이해가 가질 않네요..그래서 현재 고급편 결제하고 섹션9 추상클래스 까지 들은 상태인데 뒤로 갈수록 내용이 어려워져서 복습한다고 속도가 너무 늦어지는 상태에요..자료구조 내용을 이해하려면 일단 어떤 파트를 필수적으로 빨리 들어야 하고 어떤 파트는 빼도 되는지 알려주실 수 있을까요??ㅜ 답변 주시는데 도움이 될 지 모르겠지만 교재 한 챕터에{자바 데이터 타입(기본타입, 참조타입), 제어문(조건문,반복문), 메소드(호출문,메인), try문}이렇게만 존재하긴 하는데 중간중간 책에는 없는 추상클래스, 입력문 같은 파트도 보여서 감이 안잡히네요..
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
인터페이스 변수
안녕하세요~ 강사님, 인터페이스(후반전) 강의를 듣고 있는데, 왜 인터페이스 변수를 만드는지 이해가 가지 않습니다. 수업 내용에서 FactoryCam이 인터페이스 Detectable과 Reportable을 구현하여 인터페이스에 있는 메소드를 FacstoryCam에서 구현해야한다는 것은 이해했습니다.그리고 다른 클래스의 detect 메소드와 report 메소드를 호출하는것이라서 public void detect(){detecter.detect();} 이고, detecter은 객체이잖아요. 여기서 막힙니다. 이 객체랑 인터페이스 변수랑 무슨 상관인지? FactoryCam 의 인터페이스 변수를 생성해서 변수에 값 저장하는 걸로 하면 되지 않는지? 왜 인터페이스 변수를 선언해서 거기다가 값을 저장하는지, 잘 이해가 안 됩니다....ㅠㅠ 그리고 추가로, 인터페이스로 다중 상속이 가능하다고 하셨는데, 수업 내용 중 어떤 것이 다중 상속이 되고 있는지 파악하기가 어렵습니다. 혹시, 다른 클래스의 메소드를 호출할 수 있는 부분때문에 다중 상속이 가능한 것인가요? 후반부로 갈수록 어렵네요 ㅠㅠ