묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
MethodEx4
[질문 내용]int 값이 21억 까지로 제한되기에 혹시 이 값을 long으로 바꾸고 싶은데 스캐너에서 롱으로 어떻게 코드를 바꿔야 될지 모르겠습니다. long만 바꾸면 뒤에l이 없어서 int변수로 인식을해서 어떻게 해야될지 모르겠습니다
-
미해결스프링 핵심 원리 - 기본편
MyLogger 질문 드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.package Hproject.core.common; import jakarta.annotation.PostConstruct; import jakarta.annotation.PreDestroy; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; import java.util.UUID; @Component @Scope(value="request") public class MyLogger { private String uuid; private String requestURL; public void setRequestURL(String requestURL) { this.requestURL = requestURL; } public void log(String message){ System.out.println("["+ uuid+ "]"+ "[" + requestURL+"]"+message); } @PostConstruct public void init(){ uuid= UUID.randomUUID().toString(); System.out.println("["+ uuid+ "] request scope bean create "+this); } @PreDestroy public void close(){ System.out.println("["+ uuid+ "] request scope bean close "+this); } }해당 MyLogger 클래스에서 init() 메소드 안에서 ,uuid의 값을 랜덤으로 초기화 시켜 줬는데,이 메소드가 아니라 처음에 필드 선언 부분에서 초기화 시키는건 안되는건가요??
-
미해결김영한의 실전 자바 - 기본편
this 사용 여부
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영한님 우선 항상 좋은 강의 감사합니다 this 부분을 수강하던 중 궁금증이 생겨서 질문드립니다. 요즘은 IDE발달로 인해 this를 사용하지 않아도 색으로 인해 구분이 잘 되지만, 깃헙에서 코드리뷰를 할 땐 이러한 기능이 지원이 되지 않기 때문에 this를 사용하는게 더 명확하다고 생각이 드는데 어떻게 생각하시나요? 코드리뷰를 할 때의 관점에서 영한님의 의견이 궁금합니다!
-
미해결스프링 핵심 원리 - 기본편
빈, 컨테이너도 넓은 의미에서 객체일까요 ??
듣다보니 쓰임이 많을것같은 클래스를 빈으로 등록하고, 그 빈들을 컨테이너가 관리하는데 이렇게하는 이유를 생각해보면 멤버서비스, 오더서비스처럼 호출이 잦은 클래스를 한곳에서 관리하면 접근이 편할 것 같습니다 이렇게 빈으로 관리하는 이유가 무엇인가요 ??예전에 질문드렸을 때 객체 하나 자체는 메모리가 많이 들지 않는다고 하셨습니다. 그럼 객체를 많이 만들어도 메모리를 절약하기 위함은 아닐 것 같은데 빈, 컨테이너 개념을 이용하는 다른 이유가 있나요 ??
-
해결됨C개발자를 위한 최소한의 C++
강사님 질문 드립니다.
만약 함수내에서 func(ClassA a) { // 여기서 a 는 클래스임 } 과 같이 작성하면 ClassA 의 생성자는 호출되지 않지만 소멸자는 호출됩니다.그 이유를 알고 싶습니다.
-
미해결김영한의 실전 자바 - 기본편
Student s 에서 s란?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 강의 잘 수강하고 있습니다.for문을 리팩토링하는 과정에서 students.name등의 변수명이 길기 때문에 Student s = students[I] 이렇게 바꿔서 하는 건 이해가 가는데 , Student s 에서 s는 단순하게 변수명으로 이해하면 될까요?Student라는 타입의 변수명 s 이런 느낌인가요? 앞선 자바 쌩기초 강의에서는 이런 for문 리팩토링 과정에서int number = numbers[I] 이렇게 number라는 변수를 선언했을땐, numbers[I]가 숫자니까 int라는 타입의 number라는 변수가 당연하게 이해가 됐는데 이번에는 students[I]가 어차피 Student 라는 클래스의 인스턴스고 각각의 참조값을 들고 있으니 마찬가지로 자연스럽게 Student 타입의 변수명 s 다 이렇게 이해하면 될것 같네요.. 질문을 작성하다 보니까 이해가 되어버렸습니다;;ㅋㅋㅋㅋ 혹시 이렇게 이해하는게 맞는건지 Yes or No 만 부탁드립니다 !^^
-
미해결김영한의 실전 자바 - 기본편
다형성 reference value
이 child 변수가 가지고 있는 reference value 와 poly 가 가지고 있는 reference value 는 같나요? 같다면 그 이유가 무엇인가요? 왜냐하면 만약 Child child1 = new Child() ; Child child2 = new Child() ;일때 child1 과 child2 의 reference value 값이 다르듯이 poly 와 child 도 달라야 하는것 아닌가요?
-
해결됨C개발자를 위한 최소한의 C++
virtual 함수와 관련하여 질문 있습니다.
만약 기본 메서드로 virtual a() 를 정의한 후 첫번째 파생 클래스에서는 a() 로 정의를 하였습니다.마지막 파생 클래스에서도 a() 로 정의했다면 어떻게 동작하는지 궁금해서 여쭤 봅니다. 제 생각에는 기본하고 첫번째 파생 사이에는 virtual 처럼 즉 기본을 호출해도 파생이 호출될 거 같은데두번째 파생시에는 virtual 의 성격이 사라질 거 같습니다. 확인 부탁드립니다. 강사님
-
해결됨C개발자를 위한 최소한의 C++
생성자와 소멸자의 호출
04_Constructor 테스트 중에 질문 드립니다.Test test01; 과 같이 선언하면 생성자와 소멸자가 모두 호출되는데Test test02 = new Test(); 와 같이 호출하게 되면 소멸자는 호출되지 않습니다. 그 이유가 뭔지 궁금합니다.친절한 강의 감사드립니다.
-
미해결스프링 핵심 원리 - 기본편
UnsatisfiedDependencyException가 발생하는 테스트를 만들고 싶은데 안 됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)아니요3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]의존성 주입이 안 되는 상황을 테스트 하기 위해ㅅComponentScan의 basePackges를 멤버로 제한하고 orderService를 호출해서 UnsatisfiedDependencyException에러가 발생하는 테스트를 진행하는데 테스트가 오류가 발생합니다.ComponentScan의 basePachages 설정 제가 만든 테스트: UnsatisfiedDependencyException에러가 발생시 테스트를 성공하게 하는 것이 목표로그 결과로그결과 확대
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ProductAdminEx
왜 출력에서 productName이 오류가 나는지 모르겠습니다. nextLine을 안쓰고 next()를쓰면 오류가 안나는데 정확한 차이가 무엇인가요?
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ArrayEx6 minNum, maxnum 질문입니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.package array.ex; import java.util.Scanner; public class ArrayEx6 { //입력받을 숫자 개수 입력하고 정수입력한다음 가장작은정수 큰정수 입력 해야됨 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("입력받을 숫자의 개수를 입력하세요."); int num = scanner.nextInt(); System.out.println(num + "개의 정수를 입력하세요: "); int[] numbers = new int[num]; int minNumber, maxNumber; for(int i = 0; i < num; i++) { numbers[i] = scanner.nextInt(); } minNumber = maxNumber = numbers[0]; for (int i = 1; i < num; i++) { if (numbers[i] < minNumber) { minNumber = numbers[i]; } if (numbers[i] > maxNumber) { maxNumber = numbers[i]; } } System.out.println("가장 작은 정수" + minNumber); System.out.println("가장 큰 정수" + maxNumber); } }minNumber = maxNumber = number[0]for (int i = 1; i < num; i++) {if(numbers[i] < minNumber) {minNumber = numbers[i]}여기 부분에서 minNumber가 왜 최솟값이 되는지 이해가 안됩니다. 예를들어 number[0]에 10이 들어가 있다 쳤을때minNumber는 10이되고 결국 numbers[i] < 10이 됩니다.그리고 반복을 돌려서 numbers[1] ~ numbers[num - 1]까지 갔을때, 1 < 10, 2 < 10, 3 < 10 모두다 조건에 만족하여true라고 생각을 하였습니다 그래서 minNumber에도 1이든 2든 3이든 반복문이 돌아가다 마지막 숫자가 true 였을 때 minNumber에 들어갈 것이라고 생각을 했습니다. 근데 판별을 할 때 제가 모르는 어떠한 기능이 있는 건지 아니면 제가 반복문을 잘못 생각하고 있었던 건지 왜 최솟값이 나오는지 전혀 모르겠습니다. 또한 정수를 입력 했을 때 같은 숫자를 입력하면 조건식 이 false인데도 출력이 되는 것이 의아했습니다. 어떠한 조건으로 인해 출력이 되고 그러한 결과가 나오는 건지 여쭤보고 싶습니다 선생님.
-
미해결스프링 핵심 원리 - 기본편
무조건 인터페이스-구현체 를 나누는게 좋은 건 아니겠죠 ???
모든 상황에서 인터페이스(DiscountPolicy)-구현체(FixDiscountPolicy) 처럼 나누는게 좋은 건 아니겠죠 ??지금 상황처럼 정책이 바뀔 경우가 없다면 그냥 바로 구현체를 만드는 게 더 효율적인 것 같은데, 설계상 정책이 안바뀐다 하더라도 만약의 상황을 대비해 인터페이스를 만들어두는편인가요 ??
-
미해결김영한의 실전 자바 - 기본편
상속과 오버라이드
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.다형성 활용3 수업에서 각 동물을 Animal의 자식클래스로 두고, sound()를 호출하는 코드를 보고 있습니다.그리고 soundAnimal()의 매개변수로 Animal 타입을 받아서 처리하는 부분에서 각 동물들의 소리가 다를 수 있는 이유가 sound()함수가 Override되어서 그런걸로 알고 있는데, 이 자식 클래스들이 @Override 부분을 빼도 똑같이 작동하더라구요. Override가 필수는 아닌건가요?이것도 가독성을 향상시켜주는 syntatic sugar라고 할 수 있을까요?
-
해결됨김영한의 실전 자바 - 기본편
이부분이 이해가 안갑니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]Pay pay = PayStore.findPay(option)뭐라고 말을 질문을 해야할지 모르겠지만 이 코드가 왜 되는건지 이해가 잘안됩니다.PayService 클래스에서 Pay pay = PayStore.findPay(option) 이 코드가 되는 이유가 PayStore 클래스가 public이기 떄문에 불러올수있는건가요? public은 같은패키지 안에서 공유 가능하기떄문에 저런 코드가 되는거죠? ㅠㅠ 질문을 이해하셨느지 모르겠지만 이 부분이 왜 되는지 이해가 안돼요
-
해결됨스프링 핵심 원리 - 기본편
강사님께서 말씀하시는 "클라이언트 코드"는 무엇인가요 ??
클라이언트 코드라고 자주 언급해주시는데, 사용자와 관련되어 일하는 코드를 전반적으로 일컫는 말일까요 ???
-
미해결스프링 핵심 원리 - 기본편
DIP와 관련된 어노테이션
강의 : 스프링 핵심원리 - "관심사의 분리" 현재 스프링 안쓰고 자바로만 하고 계시니 강의에는 안맞을 수도 있는데 궁금해서 질문 드립니다 ...DIP지키려고 객체생성 안해주고 인터페이스들을 선언만 해주고, 생성자 주입으로 마침내 DIP를 지킬 수 있다 이렇게 이해를 했습니다.여기서 더 나아가서 생성자도 쓰기 귀찮으니 @RequiredArgsConstructor쓰면 아래 코드에서 생성자 부분 안쓰고도 원래 의도대로 DIP지킬 수 있는거죠???
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
커리큘럼 질문드립니다
취업목적이 아닌 개인 사업용으로 모바일 앱개발을 할 예정인데요 커리큘럼을 어떻게 가져가면 좋을지 문의 드립니다. 프로그래밍에 대한 지식은 전무합니다 (자바의정석 챕터 8까지 가볍게 읽어본게 전부입니다)
-
미해결스프링 핵심 원리 - 기본편
질문있습니다.
[질문 내용]빈 생명주기 콜백에 대해 공부하면서 의문점이 드는게 이 라이프사이클을 활용하여 테스트를 짜는걸 일개학생이 혼자 프로젝트를 진행할때 쓸 데가 있을까요?만약 있다면 언제 사용하면 좋을까요?
-
미해결스프링 핵심 원리 - 기본편
빈의 초기화가 무엇을 의미하나요?
현재까지 배운 내용으로 스프링 컨테이너가 빈의 생성+의존관계 주입을 해주는것은 이해가 가지만 초기화를 해준다는게 정확히 어떤 개념인지 이해가지 않습니다 앞선 강의에서 나왔던 @PostConstruct 어노테이션이 붙은 메소드를 초기화라고 생각하면 될까요?