30%
30,800원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결김영한의 실전 자바 - 기본편
힙영역과 스택영역 질문입니다
객체를 생성을 했을때 멤버변수(value)는 힙영역이 되는 거고 클래스 내부에 있는 메서드(getValue())는 스택영역이 되는 것일까요? 계속 헷갈려서 질문 합니다 ㅜㅜ
- 미해결김영한의 실전 자바 - 기본편
제가 짠 코딩이 문제가 뭔지 궁금합니다.(뭐가 문제인지는 알겠는데 이해가 안 가서 질문을 드립니다.)
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. 이렇게 해야 제대로 돌아간다고 배웠는데 제가 짠 코딩은 productOrders[0] = new ProductOrder(); 을 빠트렸어요. ProductOrder[] productOrders = new ProductOrder[3]; 으로 공간을 할당하고 바로 productOrders[0].productName = "두부"; 로 초기화했는데 이러면 문제가 되는지 시스템이 실시가 안되더라구요.실시가 안되는 이유가 뭘까요? 저는 ProductOrder[] productOrders = new ProductOrder[3]; 이것이 null로 초기화하고 바로 productOrders[0].productName = "두부"; 로 다시 초기화를 했다고 생각하는데왜 문제되는지 이해가 되지 않습니다. package class1.Ex; public class ProductOrderMain { public static void main(String[] args) { ProductOrder[] productOrders = new ProductOrder[3]; productOrders[0] = new ProductOrder(); productOrders[0].productName = "두부"; productOrders[0].price = 2000; productOrders[0].quantity = 2; productOrders[1] = new ProductOrder(); productOrders[1].productName = "김치"; productOrders[1].price = 5000; productOrders[1].quantity = 1; productOrders[2] = new ProductOrder(); productOrders[2].productName = "콜라"; productOrders[2].price = 1500; productOrders[2].quantity = 2; int total = 0; for (int i = 0; i < 3; i++){ System.out.println("상품명: "+productOrders[i].productName + ", 가격: "+productOrders[i].price + ", 수량"+productOrders[i].quantity); total += productOrders[i].price; } System.out.println("총 결제 금액: " + total); } }
- 미해결김영한의 실전 자바 - 기본편
캐스팅 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. Parent poly = new Child();Child child = (Child) poly; poly의 타입이 Child로 변하는 것은 아니다. 해당 참조값을 꺼내고 꺼낸 참조값이 Child타입이 되는것이다. 라고 되있는데이부분이 잘 이해가 가질 않습니다. poly는 결국 변수명일 뿐이고 핵심은 참조값인데 poly라는 객체의 참조값의 타입이 변경 된다는게 결국 poly의 타입이 변경된다는거랑 같은 말 아닌가요?결과적으로 그냥 이 부분이 그래서 무엇을 뜻하는건지 모르겠습니다.그냥 poly의 타입이 Child로 바꿔서 쓴다고 이해해도 상관없지 않나요?
- 미해결김영한의 실전 자바 - 기본편
displayInfo 메소드에 배열 인스턴스 문의
Book 클래스 displayInfo 메소드에 book1 ~ book3 까지 각각 인스턴스를 넣어 정상적으로 출력이 되었습니다 void displayInfo(){ System.out.println("제목:" + title + ", 저자:" +author+ ", 페이지:" + page); } --- Main 메소드 --- book1.displayInfo(); book2.displayInfo(); book3.displayInfo(); 만약 displayInfo 메소드에 Books 인스턴스 배열을 매개 변수로 넣고 for문으로 처리하고 싶으면 어떻게 코드 수정을 해야 할까요? 뾰족한 수가 생각이 안나 스스로 해보는 중인데 ㅠㅠ 되지 않네요 혹시 가능할까요..? Book 클래스 displayInfo 메소드에 아무 매개변수를 배열 인자를 받아야 뭐 해결이 될거 같은데..ㅠ < 시도중인 코드> === Book 클래스 displayInfo 메소드=== void displayInfo(Book[] books){ for(int i=0; i <= books.length;i++){ System.out.println("제목:" + books[i].title + ", 저자:" +ooks[i]. author+", 페이지:" + ooks[i]. page); } } === 메인 메소드 === Book book1 = new Book(); Book book2 = new Book("Hello Java", "Seo"); Book book3 = new Book("JPA 프로그래밍","Kim", 700); Book[] books = {book1, book2, book3}; books.displayInfo();
- 미해결김영한의 실전 자바 - 기본편
제어자2번 문제 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에서 item.getName()은 클래스 Item의 메서드인데 클래스 ShoppingCart에서는 따로 인스턴스를 만들지 않았고 배열인 Item[] items = new Item[10]; 만 만든게 아닌가요? items.getName() 도 아니고 어떻게 호출이 되는지 이해가 안가서 질문 남깁니다
- 미해결김영한의 실전 자바 - 기본편
상속 관계에서 기본생성자 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상속 관계에서 protected 생성자가 아닌 private으로 문제와 풀이 예제를 진행한 이유가 있을 까요?
- 미해결김영한의 실전 자바 - 기본편
자바 메모리 구조 강의를 들으면서 질문 있습니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요! 제가 알고 있는게 정확한지 알고 싶어서 질문 드립니다! 힙 영역에는 new 키워드를 통해 동적으로 생성된 인스턴스가 존재하는 지역이라고 설명해주셨는데클래스 로더에 의해 바이트 코드를 통해 메서드 영역에 생성자, 메서드 등 정보가 저장되고, 힙 영역에 클래스 타입의 인스턴스도 생성되지 않나요??
- 미해결김영한의 실전 자바 - 기본편
static메서드와 인스턴스메서드
질문1.시점1에서 staticMethod()가 "메서드영역->static영역"에 이미 할당되어있는상태가 맞을까요? 질문2.시점1에서는 instanceMethod()가 할당되지 않았고시점2에서는 new Test()를 통해서 인스턴스를 생성했을 때 "메서드 영역-> 클래스정보" 에 instanceMethod()가 할당되는게 맞을까요? 질문3.메모리 할당위치가 아래와 같이 할당되는게 맞을까요? staticMethod(): "메서드 영역 -> static영역"instanceMethod(): "메서드 영역 -> 클래스정보 영역" 질문3.test1의 주소값이 x01,test2의 주소값이 x02 라고 가정하면test1, test2의 instanceMethod()는 동일한 클래스영역에 주소를 가리키고 있나요?? 질문4.test1, test2의 각 멤버변수를 instanceMethod()를 통해서 호출한다고 가정하면 test1.instanceMethod()test2.instanceMethod() 위와 같이 코드를 작성할텐데 이때 instanceMethod() 호출하는 과정을 살펴보면(1) test1.instanceMethod(), test2.instanceMethod()가 같은 주소의 "메서드 영역 -> 클래스 정보"에 있는 instanceMethod()로 찾아간다 (2)heap영역에 test1의 멤버변수, test2의 멤버변수의 값을 가지고 온다 질문4의 의도는 "같은 메서드 영역에 있는 instanceMethod()를 찾아가지만 각 인스턴스의 멤버변수는 heap영역에서 가지고 오느냐" 이것을 물어보려고 한 것입니다. 복습할겸 다시 보고 있는데 갑자기 혼란스러워서 질문하게 되었습니다. 질문이 많지만 답변부탁드려요!
- 미해결김영한의 실전 자바 - 기본편
개인적인 공부 방향성 질문
안녕하세요. 코딩 질문과 직접적인 관련은 없지만 훌륭한 멘토분들의 조언 역시 엄청난 자산이라고 생각해서 조언을 얻고자 합니다. 현재 자바를 3개월정도 공부한 상황인데. 김영한 선생님의 고급까지 마무리 함과 더불어 spring framework 를 공부하는게 어떤 면에서 도움이 될까요? 일종의 알고리즘을 배우는 과정인건가요 ? 또는 Spring framework 이외에도 어떤 공부를 병행하면 좋을지 모르겠습니다. 도움주시면 감사드리겠습니다.
- 미해결김영한의 실전 자바 - 기본편
final 변수 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]객체 생성할 때 final을 붙여서 다른 참조값을 사용하지 못하게 했는데 실제로 이렇게 사용되는 예제가 어떤 게 있나요? 실제 적용 사례를 생각해보려 했는데 어떤 경우에 사용되는지 궁금합니다.
- 미해결김영한의 실전 자바 - 기본편
상속에 따른 객체와 메모리 구조에 대해 질문드립니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요. 이번 강의를 완강 하다가 궁금한 점이 생겨서 질문 드립니다.위 그림에 따라인스턴스가 생성되면 인스턴스에 있는 객체들의 메서드는 메서드 영역에서 공유되기 때문에 인스턴스가 100개여도 메서드가 100개가 되진 않는다고 설명 해주셨는데요.하지만 상속 단계에서 이 그림을 보면 메서드가 메서드 영역에 있는 것이 아니라 각각의 인스턴스가 각자의 메서드를 가지고 있는 것으로 보이는데 제가 이해한게 맞을까요? 제가 이해한 바로는 상속받는 부모 메서드 까지 포함해서 만약 인스턴스가 100개라면 메서드도 따라서 100개인지 궁금합니다. 바쁘신 와중에도 답변 주시면 감사하겠습니다!
- 미해결김영한의 실전 자바 - 기본편
다형적 참조시에 생성자 호출 질문
Parent p = new Child(); 이런 형식으로 부모는 자식을 품을 수 있으니깐 저렇게 선언하면Child생성자도 호출이 되는 것 같더라고요. 메서드들은 오버라이딩이 된 것이 아닌 이상 자식 메서드를 사용할 수 없는데생성자는 생성시에는 자식도 호출이 된다고 생각해야하는걸까요?
- 미해결김영한의 실전 자바 - 기본편
접근제어자 파트 문제풀이질문 displayItem메서드
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.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()); } public void displayItems2(){ System.out.println("장바구니 상품 출력"); for (int i =0; i<itemCount; i++){ System.out.println("상품명 : " + items[i].getName() + " , 합계 : " + items[i].getTotalPrice()); } System.out.println("전체 가겨 : " + calculateTotalPrice()); }위에거는 강의에서 짠 코드고 아래 displayItems2는 제가 짜본 코드인데 밑에처럼 items[i].getName() 이런식으로 데이터를 받아오는거는 좋지 않은 방법인가요 ?
- 해결됨김영한의 실전 자바 - 기본편
인스턴스 메서드와 클래스 메서드 메모리 할당 위치
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]앞서 강의에서 변수는 메모리에 할당이 되고 메서드는 클래스 정보가 들어가있는 메서드 영역에 할당이 된다고 하셨는데, 인스턴스 메서드는 메서드 영역에 위치해 있고클래스 메서드는 메서드 영역 안에 static 영역에 있다는걸로 이해하면 되는걸까요?
- 미해결김영한의 실전 자바 - 기본편
메서드 추출 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.MusicPlayerMain3 클래스에서 만든 메서드static void on(MusicPlayerData data){ // 플레이어 켜기 data.isOn = true; System.out.println("음악 플레이어를 시작합니다."); }static void on2(){ MusicPlayerData data = new MusicPlayerData(); data.isOn = true; System.out.println("음악 플레이어를 시작합니다."); }강의에서 나온 on(MusicPlayerData data) 메서드처럼 매개변수를 넣지않고on2() 처럼 매개변수를 넣지않고 저런식으로 짜는건 좋지않은 방법인가요 ?
- 미해결김영한의 실전 자바 - 기본편
인스턴스 메서드의 인스턴스 소속
'인스턴스 메서드가 인스턴스에 소속되어 있다'는 부분이 잘 이해가 되지 않아 질문드립니다.이전 강의에서 메서드는 힙 영역이 아닌 메서드 영역에 존재한다고 배웠습니다. ClassA라는 클래스가 존재하고 해당 타입 인스턴스를 2개 만들었다고 가정해보겠습니다. 그리고 참조변수를 통해 인스턴스에 존재하는 인스턴스 메서드를 호출하게 되면, 메서드 영역에 존재하는 동일한 메서드 코드가 호출됩니다. 이 부분이 '인스턴스 메서드는 인스턴스에 소속'이라는 부분과 충돌되는 것처럼 느껴지는데요.여기에서 말하는 '소속'이 물리적으로 메모리 상 같은 영역에 소속되어 있다는 뜻이 아니라, 인스턴스를 생성해야 인스턴스 메서드를 사용할 수 있기 때문에 인스턴스에 소속되어 있다고 하신걸까요...??
- 미해결김영한의 실전 자바 - 기본편
서버와 클라이언트
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]자동차가 서버, 드라이버가 클라이언트인걸까요? 웹서버와 클라이언트(브라우저)와는 아예 다른 개념인걸까요? 헷갈립니다 ㅠㅠ
- 미해결김영한의 실전 자바 - 기본편
추상메서드가 존재하지 않는 추상클래스
추상메서드가 존재하지 않는 추상클래스가 존재하는 것이 일반적인 상황은 아닌거죠?오직 자식 클래스에게 속성이나 기능을 제공할 목적으로 어떤 클래스를 만들었기에 해당 클래스는 인스턴스를 생성할 필요가 없다고 판단되는 경우, 추상클래스로 선언할 수 있겠다고 생각됩니다. 그렇다면 해당 추상클래스는 추상메서드가 단 1개도 존재하지 않는 것인데요. 이게 문법적으로는 오류가 없다는 것은 알겠지만 이러한 상황이 실무에서 발생하는 상황인지 알고 싶습니다.
- 미해결김영한의 실전 자바 - 기본편
부모 자식 타입
Parent poly= new Child() ;Child child = poly ; 가 자식이 부모를 담을 수 없어서 안된다고 하셨는데, 혹시 논리적으로 왜 그런지 알 수 있을까요? 왜냐하면 제 생각에는 결국에는 Child child = new Child(); 로 되어서 가능한거 아닌가요 ? 혹시 안되는 이유가 이미 parent poly 는 화살표가 parent 클래스를 향하고 있기 떄문에 아무리 참조값 안에 Child , Parent class 둘다 있어도 Child child = poly ; 할때 Child 가 parent 인스턴스를 우선 참조해서 오류가 발생하는건가요 ? 도무지 Child child = new Child () ; 는 가능한데Parent poly = new Child() ;Child child =poly(new Child) ; 가 안되는 이유를 모르겠습니다
- 미해결김영한의 실전 자바 - 기본편
cmd + O Override Method 기능 사용중에..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 선생님은 직접 extends/implements 키워드 뒤에 쓴 클래스나 인터페이스만 뜨던데 Object가 같이 뜹니다. Object는 안 뜨게 하는 방법 없을까요??