int[] number = new int[] {10, 20, 30} 이렇게 선언하고 초기화 하면 number의 0번째 인덱스에 10이 들어가는건가요? 그리고 만약 10이 number의 0번째 인덱스에 들어간다면, int[]number = {10,20,30} 이렇게 선언해도 되는데 굳이 new int[] 사용해서 초기화하는 경우에 대해 궁금합니다. 그리고 선언과 초기화에 따른 메모리 동작 원리에 대해서도 궁금합니다!
문제와 풀이3-상품 가격 계산 위 문제 질문드립니다. 가격과 수량을 입력받을때, 사용자 입력이 "정수+개행문자"까지 들어가니까 앞선 문제에서 알려주셨다시피 nextInt함수는 정수값만 입력으로 가져가기 때문에 사용자입력에서 개행문자가 남아 빈문자가 다음 입력값으로 넘어가는 것을 방지하기 위해 아래 캡쳐와 같이 scanner.nextLine(); 코드를 넣어주어 개행문자를 없애줘야 하지 않나요? 답변 부탁드립니다. System.out.print("가격은?(-1입력 시 종료): "); int price = scanner.nextInt(); scanner.nextLine(); if(price==-1){ System.out.println("시스템 종료"); break; } System.out.print("수량은?: "); int num = scanner.nextInt(); scanner.nextLine();
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 맴버 서비스에서 우선 회원가입(join)을 하고 난 후에 맴버 레파지토리에 join (회원등록..?)을 하는 순서이지 않을까 생각하는데 맞을까요..? memberServiceimpl에 조인 함수에서 사전에 등록된 레파지토리.save를 불러오는 것이 이해가 되지 않습니다..ㅠ save 와 join 함수의 의미와 순서가 궁금합니다 아직 회원 가입(join) 이 안되었는데 이미 있던 데이터(save)를 가져온다는데 혼란이 됩니다
[질문 내용] 여기에 질문 내용을 남겨주세요. String str1 = "123"; String str2 = "45"; String str3 = str1 + str2; 라는 코드가 있고, 이미 클래스 로드되는 시점에 문자열 풀에 "12345"라는 인스턴스가 있으면 어떻게 작동하나요?
public interface DiscountPolicy { /** * @return 할인 대상 금액 */ int discount(Member member, int price); } 인터페이스를 위와 같이 작성하셨는데, 첫 번째 매개변수에 왜 member를 받는 선택을 하셨을까요? Grade enum을 받아 처리하면, 등급에 따른 가격 결과가 나올 수도 있는데.. member를 첫 번째 매개변수로 받게 되면 어짜피 객체가 가지고 있는 Grade 값을 사용할 것 같아서요. 궁금해서 여쭙습니다!
안녕하세요, 영한님. 강의 보면서 열심히 배우고 있습니다. 질문 부분은 싱글톤과 관계없이 일단 memberRepository가 몇 번 호출이 될까 하는 부분입니다. 강의를 보았으니 정답은 1번이라고 알고 있는데, 왜 영한님이 3번을 말씀하셨던걸까 궁금해서요. (강의 요지와는 상관없는 부분인 것 같아 죄송합니다.) memberService를 호출한다. MemberServiceImpl이 memberRepository를 호출하면, memberRepository를 bean으로 등록하고 . (1번) 호출을 완료한다. (2번) orderService를 호출한다. OrderServiceImpl이 memberRepository를 호출한다. (3번) 이렇게 해서 3번이 호출된다고 말씀하신게 맞을까요? 감사합니다.
[질문 내용] 여기에 질문 내용을 남겨주세요. 처음에 클래스가 로드될 때, 코드를 훑어보며 문자열 리터럴을 사용하면, 미리 문자열 풀에 문자열 리터럴에 대한 인스턴스를 생성하고, 중복이 발견되면 문자열 풀을 살펴보며 중복이 있으니 문자열 풀에 인스터를 생성하지 않는다. 그리고 나중에 로드된 후, 실행될 때는 String 클래스 변수에 문자열 풀에 해당하는 참조값을 주기때문에, 여러 String클래스 변수가 같은 리터럴을 가진다면, 같은 참조값을 가져 ==연산자에서 비교하면 true가 나온다. 맞나요? 클래스가 로드되는 시점에 코드를 훑어보며, 문자열 풀에 "12345"라는 인스턴스가 있다고 가정하고, 나중에 코드가 실행될때 중간에 String str = "123" +" 45";라는 코드가 있으면, 새로운 객체를 만들어 str에 참조값을 넣어주는건가요? 아니면 문자열 풀에 같은 문자열이 있으니까 문자열 풀에 해당하는 인스턴스의 참조값을 주나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 다음으로에서 언급하신 데이터베이스는 업데이트 되어 있나요?
안녕하세요. 강사님! 너무나 알찬 강의 감사드립니다. 한가지 궁금한 점이 있습니다. 만약 제가 영화 예매 설계를 해야하는 상황이었다면, '가격' 필드를 Long 타입으로 할 생각밖에 못했을 것 같은데, Money 라는 클래스로 가격을 표현하게 된 계기 를 여쭤보고 싶습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. [12:42]에서 " main 스레드는 TIMED_WATING 상태에서 RUNNABLE 상태로.. ." 설명과 함께 마우스 포인터로 가리키신 pdf 에서는 work 스레드 라고 표기되어 있습니다. 설명에 혼란이 있어서 제가 인터럽트 호출 부분을 다음과 같이 이해한 게 맞는지 확인 부탁드립니다..! 0. work 스레드 동작 main() 스레드 안에서 thread.start(); 호출(work 스레드 호출)한다. 1. main() 스레드 동작 Thread.sleep(4000)을 호출하여 TIMED_WAITING 상태로 들어간다. (4초 대기) 2. thread.interrupt() 호출 4초 뒤 main() 스레드가 깨어나고(RUNNABLE 상태), 바로 아래 코드인 thread.interrupt() 호출한다. -> 이때 work 스레드는 Thread.sleep(3000)으로 인해 TIMED_WAITING 상태였는데, main() 스레드의 인터럽트 신호로 인해 InterruptException이 발생하여 RUNNABLE 상태로 즉시 변경된다. 3. InterruptException 처리 work 스레드는 catch 블록에서 InterruptException 예외 처리 수행한다. 인터럽트 호출했다고 InterruptException 예외가 반드시 나는 것은 아니다. 설명에서 InterruptException 예외 발생한 이유는 main() 스레드에서 4초 대기 후 work() 스레드 인터럽트 호출할 때, work 스레드 상태가 TIMED_WAITING 였기 때문이다. work 스레드는 인터럽트 호출로 인해 TIMED_WAITING -> RUNNABLE 상태로 즉시 변경되고, work 스레드의 인터럽트 상태는 초기화 되어 false를 반환한 것이다. 이렇게 이해하면 될까요..?!
[질문 내용] 여기에 질문 내용을 남겨주세요. 7:36에서 obj1, obj2를 출력하는데, obj1, obj2의 객체 정보가 출력이 되었는데, 이유가 메인메서드 처음부분에, obj1과 obj2의 객체가 만들어 지는데, 이때 obj1의 객체 안에는(obj1, Object)클래스 정보가들어있고 obj2객체 안에는(obj2, Object)클래스정보가 들어있는데 System.out.println()메서드 안에 객체를 넣으면 내부에서 자동적으로 객체명.toString()메서드가 실행이 되는데, 자식클래스(obj1, obj2)모두가 toString()을 오버라이딩 하지 않아, Object의 toString()이 호출이 되는데, 호출하는 변수가 각각 obj1, obj2여서 호출하는 변수 타입의 객체 정보가 출력이 된다. 맞나요? 잠시 헷갈렸는데 맞을까여?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. "초과 스레드가 작업을 처리할 때 마다 시간은 계속 초기화된다" 7:36초에 말씀을 해주셨는데, 한가지 궁금한 점이 생겨 질문 드립니다! 큐가 가득 차서 초과 스레드가 이미 만들어 졌다고 가정한 상황입니다. 이후에 작업이 없어서 큐가 비어있다고 가정을 하겠습니다. 즉, 상황은 큐가 비어있고, 스레드 풀에 기본 스레드 2개, 초과 스레드 2개가 있습니다. 이 때, Executors 에 새로운 작업이 들어오면 이 작업은 무조건 기본 스레드가 초과 스레드 보다 먼저 작업을 수행하게 되나요? 만약, 기본 스레드가 먼저 작업을 무조건 수행하게 된다면 이는 BlockingQueue의 내부 구현인 ReentrantLock 과 Condition 으로 인해 WAITING인 기본 스레드 부터 깨우게 되는 것인가요?