문제 2번 질문
426
작성한 질문수 1
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
예
[질문 내용]
여기에 질문 내용을 남겨주세요.
문제 2번에 public void addItem(Item item) << Item item이 메서드의 매개변수인가요? 객체 배열에 참조값을 가져온건가요? if문 리턴끝나고 나오는 items[itemCount] 이거는 0번째 배열부터 1개씩 증가하는건 이해했는데 items[itemCount] = item; 에서 이해가 잘안가요 item은 왜 대입시키는건가요 참조값을 주기위해서인가요? 객체배열과 연결하기위해 참조값을 주는건가요? 제가 이해력이좀 낮아서
답변 1
1
안녕하세요. 구준모님, 공식 서포터즈 y2gcoder입니다.
문제 2번에 public void addItem(Item item) << Item item이 메서드의 매개변수인가요?
맞습니다. item에 Item 인스턴스의 참조값이 담겨있습니다!
객체 배열에 참조값을 가져온건가요? if문 리턴끝나고 나오는 items[itemCount] 이거는 0번째 배열부터 1개씩 증가하는건 이해했는데 items[itemCount] = item; 에서 이해가 잘안가요 item은 왜 대입시키는건가요 참조값을 주기위해서인가요?
이 부분은 Item[] items 라는 배열에서 items[itemCount] = item; 을 하면 매개변수로 가져온 item(x001의 참조값)를 items 배열의 itemCount 라는 순서의 공간에 담기 위한 작업입니다. 이 부분에 대해서는 영한님의 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음 강의의 섹션 8. 배열 > 배열의 선언과 생성 강의를 복습하시길 권해드립니다! 해당 부분에서는 int[] 배열이지만 충분히 배열의 각 공간에 기본형 타입 리터럴을 그대로 담느냐, 참조형 타입의 참조값을 담느냐의 차이만 있을 뿐입니다!

해당 부분을 학습하신 뒤에는 본 강의의 섹션 1. 클래스와 데이터 > 배열 도입 - 시작을 복습하시기를 권해드립니다!

특히 두 강의 모두 배열에 대입하는 부분을 주의깊게 봐주십쇼!
감사합니다.
1
감사합니다. items[itemCount] 에 item에 참조값을 주기위해 결국엔 메소드에 매게변수를 만들어줘야하는 건가요
만약 items[itemCount] = item;으로 참조값을 대입시켜 주게되면 결국엔 같은 참조값을 가지고있는 매개변수인 Item itemm에 연결이 되있는거고 또 같은 참조값을 가지고있는 객체 배열인 Item[] items = new Item[10]; 랑도 연결이되있는거고 결국엔 이것들이 Item 클레스랑 연결이되있어서 찾아갈수 있는거라고 이해하면 되는걸까요 제가 정확히 이해한게 맞은걸까요 의심이갑니다.. 혹시 잘못 이해했으면 다시 돌아가겠습니다.
1
items[itemCount] = item;
이라는 것은 영한님께서 항상 말씀하시는 대원칙을 생각해볼 때 항상 값을 복사해서 대입하는 것입니다. item에 있는 참조값을 복사해서 items[itemCount] 칸에 대입하는 것입니다. 그래서 말씀하신 것처럼 매개변수로 온 item 과 items[itemCount] 는 같은 참조값을 가지고 있고 같은 객체 인스턴스에 접근할 수 있습니다.
해당 부분에 대해서 아리송하다면(혹은 제가 설명한 것이 이상한 것일 수도 있습니다) 잠깐 진도를 멈추고 복습하시는 것을 추천합니다!
질문있습니다
0
30
1
1번 문제 질문입니다.
0
35
1
음악플레이어 문제 중 코드질문
0
28
1
9장 상속 문제와 풀이 질문
0
38
1
강의 자료에 사소한 오타가 있습니다.
0
50
2
매서드 참조값 반환??
0
67
1
접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드
0
71
1
자바 기본편 - .(dot)에 관한 질문입니다!
0
85
1
공부방법
0
77
2
상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?
0
82
1
static method 질문
0
67
1
캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요
0
98
1
Method1에서 Student 객체
0
74
1
3강 18. null 질문
0
69
1
this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?
0
77
1
팩토리 메서드 패턴과 일반 생성자 사용의 장단점
0
97
1
문의
0
104
1
9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다
0
90
1
상속과 그에 따른 메모리 구조 질문
0
62
1
call메소드에서 멤버에 접근하는 방식을 이해 못 했습니다
0
74
1
수강기한
0
136
1
기본편 객체지향 프로그래밍에 대한 정의
0
88
1
섹션10 상속 메모리 구조 및 문제 관련 질문
0
87
1
추가 지식 학습
0
153
2





