44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결김영한의 실전 자바 - 기본편
문제와 풀이 질문있습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요 강사님 문제와 풀이도중 이해가 잘 안되서 질문드렸습니다. orders배열에 참조값이 들어있기에 printorder(orders)까지는 이해가 되는데 printorder 호출 후, printorder메소드 ()안에 ProductOrder[] orders 배열이 들어간 것이 이해가 잘 안됩니다. printorder 호출 후 ProductOrder[] orders = orders로 참조값을 넣기 위해서인가요??
- 해결됨김영한의 실전 자바 - 기본편
분홍색 하이라이트 부분의 말이 이해되지 않습니다.
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 교안은 보면, 'Student 타입의 변수 / Student 배열' 라고 표현이 되어 있는데, 표현이 조금 애매한듯합니다.물론, 제가 이해를 못하는 것이겠죠?개념은 이해 했습니다. 어떤 식으로 흘러가는지도 이해 했구요. 다만 분홍색 하이라이트 부분이 제가 이해한 부분과 부딛치고, 오히려 복잡하게 만드는거 같습니다. Student 타입의 변수 students1, student2는 Student 클래스를 기준으로 만든 객체, 즉 new Student();의 반환값을 보관한다. Student 배열인 students의 각각의 인덱스 항목도 Student 타입의 변수 students1, student2의 참조값을 대입할 뿐이다. 따라서 Student 타입의 참조값을 보관한다. 라고 이해 해도 되나요?어떻게 쉽게 이해하면 될까요?
- 미해결김영한의 실전 자바 - 기본편
while 문을 빠져나가기 위해 DafaultPay 객체를 참조하는 경우도 포함하려면
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]public class PayMain1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); PayService payService = new PayService(); while (true) { System.out.print("결제 수단을 입력하세요: "); String option1 = scanner.nextLine(); if (option1.equals("exit")) { System.out.println("프로그램을 빠져 나갑니다."); break; } if (option1.equals(new DefaultPay().toString())) { System.out.println("프로그램을 빠져 나갑니다."); break; } System.out.print("결제 금액을 입력하세요: "); int amount = scanner.nextInt(); scanner.nextLine(); payService.processPay(option1, amount); } } }위 while문을 빠져나가는 조건을 DefaultPay 객체를 참조했을 때도 추가하려고 하는데 어떻게 수정해야 할까요?
- 미해결김영한의 실전 자바 - 기본편
instanceof 강의를 들으며 궁금한 점이 있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]강의에서 Parent parent를 안전하게 다운캐스팅하기 위하여if (parent instanceof Child)를 사용하여서parent가 new Child()가 맞는지 확인하는 것으로 이해했습니다. 그 후 강의 중에 "참고로 instanceof 키워드는 오른쪽 대상의 자식 타입을 왼쪽에서 참조하는 경우에도 true 를 반환한다" 라고 하며 parent instanceof Parent 를 예시로 보여주었습니다. 그런데 강의 중 예시를 보았을 때 안전한 다운캐스팅을 위해선 parent instanceof Child를 사용해야 하는것으로 이해하였는데, 혹시라도 parent instanceof Parent가 특별히 사용되져야하는 다른 예시가 있을까요? 글의 요지는 그냥 이런 방식도 가능하다라는 의도로 "참고로 instanceof 키워드는 오른쪽 대상의 자식 타입을 왼쪽에서 참조하는 경우에도 true 를 반환한다"라는 내용을 설명해주신건지아니면 실제 코드를 구성할 때 따로 필요한 용도가 있는지 궁금한 것 입니다.
- 해결됨김영한의 실전 자바 - 기본편
패키지 활용
패키지가 나눠서 안만들어 지는데 어떻게 해야하나요???윈도우 컴퓨터 쓰고있습니다!!
- 미해결김영한의 실전 자바 - 기본편
자바 다음 강의
자바 다음 강의는 언제 나올까요?
- 해결됨김영한의 실전 자바 - 기본편
Local vaeriable initialization
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.사용 운영체제: M1 MacJava version: openjdk 17---문제: 상품 주문 시스템 개발 - 리팩토링 부분을 풀다가 약간 저의 개념이 애매모호한거 같아 질문드립니다.여기서 32번째 줄에 대한 내용입니다.local variable을 +=연산자를 적용하려면 꼭 초기화를 해야되는지에 대한 겁니다. 기본적으로 primitive type의 int형은 0으로 자동 초기화가 됩니다. 그런데 local 범위에서 compile error가 납니다. 그 이유가 더 밖의 범위에서 totalAmount가 초기화가 되거나 할 때 버그가 생길 수 있기 때문에 compile에러가 일부러 나게끔 설정한건가요??
- 미해결김영한의 실전 자바 - 기본편
intellij package import 문제입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?예3. 질문 잘하기 메뉴얼을 읽어보셨나요?예[질문 내용]안녕하세요. 섹션6 접근 제어자 사용 - 필드, 메서드 파트 청강 중 AccessOuterMain 클래스를 생성하여 AccessData 클래스를 import할 때 문제가 생겼습니다. 현재 저는 windows 환경에서 intellij community Edition 2023.1.2 버전을 사용중입니다. 디렉토리 구조는 다음과 같습니다. > src > access > a - AccessData - AccessInnerMain > b - AccessOuterMain - Speaker - SpeakerMain 다음은 access.a.AccessData 의 코드 내용입니다.package access.a; public class AccessData { public int publicField; int defaultField; private int privateField; public void publicMethod() { System.out.println("publicMethod 호출: " + publicField); } void defaultMethod() { System.out.println("defaultMethod 호출: " + defaultField); } private void privateMethod() { System.out.println("privateMethod 호출: " + privateField); } public void innerAccess() { System.out.println("내부 호출"); publicField = 100; defaultField = 200; privateField = 300; publicMethod(); defaultMethod(); privateMethod(); } } 다음은 access.b.AccessOuterMain 의 코드 내용입니다.package access.b; public class AccessOuterMain { public static void main(String[] args) { AccessData data = new AccessData(); // 해당 부분에서 AccessData가 code suggestions도 안나오고 직접 import를 해도 import를 할 수 없습니다. } } access.b.AccessOuterMain 의 코드에서 AccessData 가 import가 되지 않습니다. intellij에서 code suggestion도 안되고(다른 코드는 code suggestion 잘 됩니다.) 직접 import를 해도 AccessData에 빨간불이 들어옵니다. 왜 그럴까요?
- 해결됨김영한의 실전 자바 - 기본편
생성자 관련 질문드립니다.
public class MemberConstruct { String name; int age; int grade; MemberConstruct(String name, int age){ this(name, age, 50); } MemberConstruct(String name, int age, int grade){ System.out.println("생성자 호출 name= " + name + "age= " + age + "grade= " + grade); this.name = name; this.age = age; this.grade =grade; } }this(name, age, 50); this.name = name; this.age = age; this.grade =grade;안녕하세요. 생성자와 관련하여 질문드립니다.this(name, age, 50) 을 실행시키기 위해서는 this.name = name, this.age = age, this.grade = grade 코드가 최소 한번은 작성되어있어야 하나요? MemberConstruct(String name, int age, int grade){ System.out.println("생성자 호출 name= " + name + "age= " + age + "grade= " + grade); this.name = name; this.age = age; this.grade =grade; } }제 생각으로는 System.out.println("생성자 호출 name= " + name + "age= " + age + "grade= " + grade); 코드 앞에 this.name = name, this.age = age, this.grade = grade 코드가 있어야 될 것 같습니다. 제가 이해한 바로는 MemberConstruct 메서드의 매개변수 name, age, grade를 받고, this.name, this.age, this.grade를 사용하여 생성된 객체의 맴버변수(name, age, grade)에 대입하는 과정으로 이해했습니다. 그렇다면 this.name, this.age, this.grade가 먼저 실행되어야 되는 것 아닌가요? (대입한 값을 넣은 뒤 실행해야 되는 것 아닌가요?) 위 사진으로 첨부한 코드가 (생성자 호출 name = null age=0, grade =0)으로 실행되지 않고, 어떻게 정상적으로 실행되는지 궁금합니다.
- 해결됨김영한의 실전 자바 - 기본편
기본편 다음 강의
2-3월 출시 예정이라고 하셨는데, 제가 지금 조금 급해서 혹시 강의가 3월초 안에 나올 수 있는지 궁금해서 질문 남깁니다!
- 미해결김영한의 실전 자바 - 기본편
객체 생성 질문
즉 ValueObject 라는 클래스에 만약 hello 라는 변수로 만들었다고 가정해보겠습니다.ValueObject hello = new ValueObject(); 그러면 hello 라는 객체가 생긴거고 오른쪽 그림에는 hello 인스턴스가 생성된 것인가요 ?아니면 hello 라는 객체가 생성되었꼬, ValueObject 라는 인스턴스가 생성된 것인가요 ?
- 해결됨김영한의 실전 자바 - 기본편
[6. 접근제어자][문제와풀이2] 쇼핑카트 질문 (p.19)
안녕하세요 저는 선생님께서 작성해주신 코드와 다르게 하기 처럼작성하였습니다.자체적으로 총 합계를 구해서 displayitems에 같이 도출했는데 하기 처럼 작성해도 무관할까요?값을 동일하게 도출됩니다.public class ShoppingCart { //배열 private Item[] items = new Item[10]; private int itemCount; public void addItem(Item item) { //item에 데이터 넣어야 함.. 순환할 필욘 없는 듯 if (itemCount >= 10) { System.out.println("장바구니가 가득 찼습니다."); return; } items[itemCount] = item; itemCount++; } public void displayItems() { System.out.println("장바구니 상품 출력"); int sum = 0; for (int i = 0; i < itemCount ; i++) { System.out.println("상품명 : " + items[i].itemName() + ", 합계 : " + items[i].itemTotalPrice()); sum += items[i].itemTotalPrice(); } System.out.println("전체 가격 합 : " + sum); } }
- 미해결김영한의 실전 자바 - 기본편
김영한의 실전자바-기본편 섹션6 연습문제 두번째
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 김영한의 실전자바 기본편 섹션6 연습문제 두번째 문제에서 코드에서 제가 작성한 코드와 김영한 선생님이 작성한 코드가 다른데 차이점을 알고 싶습니다.//저의 코드 public void displayItems() { System.out.println("장바구니 상품 출력"); for (int i = 0; i < itemCount; i++) { System.out.println("상품명:" + items[i].getName() + ", 합계:" + items[i].sumPrice()); } //비교하고싶은 부분 System.out.println("전체 가격 합: "+totalPrice()); } //김영한 선생님 코드 public void displayItems() { System.out.println("장바구니 상품 출력"); for (int i = 0; i < itemCount; i++) { Item item = items[i];//저와 다른 부분 System.out.println("상품명: " + item.getName() + ", 합계: " + item.getTotalPrice()); } System.out.println("전체 가격 합: " + calculateTotalPrice()); } 저의 코드는 items[i] 의 참조값의 getName과 sumPrice를 불러서 프린트 했고,김영한 선생님은 items[i]를 item에 할당해서 item의 getName과 Price를 프린트 했지 않습니까? 질문 1. 기능적으로는 똑같은거 같은데 둘의 차이가 있습니까? 질문 2. 뭔가 똑같아 보이긴 하지만 김영한 선생님이 작성한 코드니까 더 좋아 보이는 이유가 있는거 같은데 혹시 둘의 차이 설명 가능한가요?
- 미해결김영한의 실전 자바 - 기본편
6. 접근 제어자.pdf 오타 수정 요청
6. 접근 제어자.pdf 본문에 오타 수정이 여러 군데 필요합니다.스피커에 대한 내용 중폭팔 -> 폭발로 오타 수정이 필요합니다. ‘폭발’은 ‘불이 일어나며 갑작스럽게 터지다’라는 뜻과 함께 ‘속에 쌓여 있던 감정 따위가 일시에 세찬 기세로 나옴’ 또는 ‘힘이나 열기 따위가 갑작스럽게 퍼지거나 일어남’이라는 뜻으로 사용됩니다. ‘폭팔’은 ‘폭발’의 잘못된 표현이므로 사용해서는 안되겠습니다.
- 미해결김영한의 실전 자바 - 기본편
다형성 재정의에 질문이 있습니다.
[질문 내용]Dog dog = new Dog();위의 코드는 Dog 내부에 extends로 Animal이 있기에 Dog 클래스는 Animal 이라는 부모가 있는걸 알 수 있습니다. 하지만 Animal dog = new Dog();Animal 타입으로 Dog를 생성하면 힙메모리에는 Dog와 Animal이 하나의 영역에 생기지만 Animal 타입으로 선언하였기 때문에 힙메모리에서 Animal 부분을 먼저 바라볼 것으로 생각하는데 어떻게 Animal에서 자식 요소가 있는걸 알고 오버라이딩된 메서드가 우선적으로 처리되는건지 궁금합니다. annotation의 영향인가요? =======추가 질문!Animal dog = new Dog();위 코드와 같이 선언하면 자바에서는 자동으로 업캐스팅이 이뤄지는것 이라고 이해해도 될까요?Animal dog = (Animal) new Dog();위와 같이 자바에서 자동으로 형 변환을 시켜준다고 생각하면 되는건가요?!
- 미해결김영한의 실전 자바 - 기본편
.
.
- 미해결김영한의 실전 자바 - 기본편
7. 자바 메모리 구조와 static 문제 1: 구매한 자동차 수 질문
문제 1번 답public class Car { private static int count; private String car; public Car(String car) { System.out.println("차량 구입, 이름: " + car); this.car = car; count++; } public static void showTotalCars() { System.out.println("구매한 차량 수: " + count); } }나의 풀이public class Car { private static int count; public Car(String car) { System.out.println("차량 구입, 이름: " + car); count++; } public static void showTotalCars() { System.out.println("구매한 차량 수: " + count); } } 답과 제 풀이를 비교해보면,멤버변수로 String car를 지정하고, Car 생성자에서 this 키워드로 car를 받는데, 이 부분을 생략하여도 결과가 같게 나옵니다.어떤 차이가 있을까요?
- 해결됨김영한의 실전 자바 - 기본편
.(점, dot)을 이렇게 이해해도 되는지?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]셉션1. 클래스와 데이터 - 객체사용 에서.(점,dot) 를 통해서 메모리의 주소 값(이 있어야)으로 이동한다고 하였습니다.(4:14~38초 사이) 그러면this.name 나, import의 java.util.scanner package 에 class1.ex 도 .(점 dot) 을 통해서 메모리 주소 값으로 이동하고 여기에서 사용할 수 있게 한다?라고 이해해도 되는지 알고싶네요.
- 미해결김영한의 실전 자바 - 기본편
강의 내용과 강의록간의 차이
강의록에는 차량 선택과 변경부분에서 각각 Car k3Car, Car model3Car 로 설정되어있는데 강의에선 K3Car k3Car, Model3Car model3Car 로 되어있어서요setCar로 인해서 출력되는 참조값만 다르고 나머지는 같은데 그냥 둘다 맞는걸까요?다형성-역할과 구현 예제3 7분입니다=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
- 해결됨김영한의 실전 자바 - 기본편
기본형 관련 메모리 질문이 있습니다.
안녕하세요. 우선!! 강사님 덕분에 자바에 대해 이해가 더 잘 되고 있습니다. 감사합니다강의를 듣다 궁금한 내용이 생겨 질문하게 되었습니다. 자바의 변수는 기본형과 참조형으로 나눌 수 있고, 기본형의 경우 변수에 값이 저장되어 출력되지만 참조형은 메모리에 저장된 위치 값이 저장되어 출력된다고 가르쳐주셨습니다. 그렇다면 기본형 int a = 10;이 있다면 메모리상에는 변수 a가 가리키는 공간에 10이라는 값이 저장되는데 a를 출력하였을 때 어떻게 바로 10이라는 값이 나오는지 궁금합니다. a를 출력하게 되면 메모리상에서 a라는 변수 값을 저장한 공간을 찾게 되고 그 공간에 있는 값인 10을 출력하게 되는데 참조형과 다르게 바로 값이 나오는 이유가 궁금합니다. 감사합니다..!