44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결김영한의 실전 자바 - 기본편
자식 클래스와 protected 메서드
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. package parent; public class Parent { protected static void staticTest(){ System.out.println("정적 메서드"); } protected void notStaticTest(){ System.out.println("인스턴스 메서드"); } } package child; import parent.Parent; public class Child extends Parent { public static void main(String[] args) { / Paretn.staticTest(); //정적 메서드는 정적 메서드 호출가능 Parent parent = new Parent(); parent.notStaticTest(); // 호출불가 컴파일 오류 Child child = new Child(); child.notStaticTest(); // 호출가능 Child 클래스가 Parent 클래스를 상속 받았고notStaticTest 메서드의 접근제어자가protected 인데Parent parent = new Parent();parent.notStaticTest();// 호출불가 컴파일 오류Child child = new Child();child.notStaticTest();// 호출가능 둘의 차이가 무엇이어서호출의 가능여부가 다른지 궁금합니다.
- 미해결김영한의 실전 자바 - 기본편
자바 메모리 구조 6분
스택 영역은 각 쓰레드별로 하나의 실행 스택이 생성된다고 하셨는데그렇다면 멀티 쓰레드일 경우메서드 영역과 힙 영역은 각 하나씩만 생성되고스택 영역은 쓰레드의 개수만큼 생성되는건가요?
- 미해결김영한의 실전 자바 - 기본편
instanceof 연산자 실제 구현
instanceof 연산자를 어떤식으로 사용이 되는지는 감이 오는데 실제로 이것이 어떤식으로 구현되어 있는지가 갑자기 궁금해져서 구글링을 해보니 아래와 같은 글이 나오긴 하는데요, java - How is 'instanceof' implemented in the JVM? - Stack Overflow 글만 봐서는 살짝 느낌이 안오는데 조금 더 쉽게 설명된 글이 있을까요?
- 미해결김영한의 실전 자바 - 기본편
노션 링크로도 공유가능한가요?
강의자료의 pdf내용을 제 옵시디언에 옮기고 있는데 복붙으로는 좀 번거로운 요소가 발생해서마크다운으로 된 걸 복사하면 좋을 것 같아서요
- 미해결김영한의 실전 자바 - 기본편
인텔리제이 String 오류?
가끔 String 쓰면 실행은 되는데 이렇게 오류나거나, 실행도 안 되고 오류가 뜰 때가 있는데 왜 그런건 가요? 같은 프로젝트 파일에서도 될 때가 있고 갑자기 안 될 때가 있습니다
- 미해결김영한의 실전 자바 - 기본편
super2 예제 자바 메모리 구조 질문
해당 예제에서 자바 메모리 구조가 잘안그려집니다. 스택영역에 main() 프레임이 생성ClassC classC = new ClassC(); 를 통해힙영역에ClassC 인스턴스 생성super를 통해 ClassB 인스턴스 생성super를 통해 ClassA 인스턴스 생성 C->B->A 순서로 힙영역에 인스턴스가 생기는건가요??new 키워드가 실행되는 순간 힙영역에 인스턴스가 생성된다면 C->B->A가 맞는거 같지만생성자 코드가 전부 다 실행되어야 힙영역에 인스턴스가 생성이되는 거라면 A->B->C 순서로 생성되어야 맞는거 같은데 정확히 어떤 순서로 메모리 구조가 구성되는지 그림이 안그려집니다.그리고 결국 메인 메서드가 종료가 되면 스택영역에서 main() 프레임이 제거되어 힙영역에 가비지 컬렉션이 동작될텐데 ClassC가 카비지 컬렉션에 의해 제거가 된다면 ClassB와 ClassA도 연쇄작용으로 제거가 되는게 맞을까요?
- 미해결김영한의 실전 자바 - 기본편
객체지향 프로그래밍 - 코드 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.다음 코드에서 멤버 변수 amount 의 선언이 메서드의 매개변수 자리에서 이뤄져도 충분한 건가요? 왜 그런지 이유를 알고 싶습니다!
- 미해결김영한의 실전 자바 - 기본편
NullMain4 메서드
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네[질문 내용]NullMain4 메서드에서 참조값은 있지만 그 값을 정하지 않은 멤버변수 (count나 value) 들은 0으로 출력되는 것이 기본인가요?? 저는 값을 정하지 않았으니 쓰레기값이 나올 것으로 예상했었는데 0이 출력해서 궁금해서 질문드립니다!
- 미해결김영한의 실전 자바 - 기본편
자바 메모리 구조와 static 질문있습니다.
첫번째 코드(접근 제어자 문제2번)는 배열을 선언안하고 세번째 코드(자바 메모리 구조와 static 문제1번)는 배열을 선언했는데요. 관리하기 쉬울려고 배열 선언하는건가요? ex:static Item[] tota_llist=new Item[3]; 두번째 문제 질문있습니다.혹시 static변수안에서는 static int total=0; 이런식으로 static 매개변수 사용 못하나요? average()함수에서 사용할 목적입니다. 생성자로 static int total;이 방법 밖에 없나요?package ex4; public class MathArrayUtils { private int[] values; private MathArrayUtils(int[] value) { this.values = value; } public static int sum(int[] values) { static int total=0; for (int ii : values) { total+=ii; } return total; } public static int average(int[] values) { } public static String min(int[] values) { } public static String max(int[] values) { } }
- 미해결김영한의 실전 자바 - 기본편
접근 제어자-문제풀이1번 질문있습니다.
package ex3; public class MaxCounter { static int count; private int maxcount; public MaxCounter(int x) { this.maxcount=x; } public void increment(){ if (count<maxcount){ count++; } else{ System.out.println("최대값을 초과할 수 없습니다."); } } public int getCount(){ return count; } }위에처럼 풀어도 되나요? 작동되긴 합니다.
- 미해결김영한의 실전 자바 - 기본편
힙영역과 스택영역 질문입니다
객체를 생성을 했을때 멤버변수(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을 붙여서 다른 참조값을 사용하지 못하게 했는데 실제로 이렇게 사용되는 예제가 어떤 게 있나요? 실제 적용 사례를 생각해보려 했는데 어떤 경우에 사용되는지 궁금합니다.