knight2 hp값이 어떤식으로 할당되나요
315
13 asked
만약에 Kngiht knight2 = new Knight();를 생성하고
knight2.hp=0 을 안적고 그대로
knight2.hp 값을 출력하면
질문1
왜 65번째줄 knight.hp=100값을가져오는지 이해가 안됩니다
질문2
knight.hp = 100을한다고 해서 class Knight의 hp변수가 public int hp=100으로 바뀌는건 아니지 않나요?
질문3
Kngiht knight2 = new Knight();경우말고
Knight knight2 = DeepCopy();일때 질문1의 경우와 같이 knight.hp=100 값을 가져오는 과정이 같은건가요?
힙에 new로 생성한 Knight가 두개가 생성되고
kngiht와 knight2는 각각 다른 힙영역을 참조하고 있다고 생각했는데 혼란스러운 상황입니다
Answer 2
0
글을 읽다가 궁금해서 남깁니다.
1번질문에서는 원래 knight2.hp는 0이나와야 하지않나요?
new Knight();를 했을때 초기값으로 hp가 100이 되려면
class knight를 생성할때 public int hp =100;을 해줘야 1번답변 knight2.hp =100이 되지않나요?
0
힙에 new로 생성한 Knight가 두개가 생성되고
kngiht와 knight2는 각각 다른 힙영역을 참조하고 있다고 생각했는데 혼란스러운 상황입니다
네 처음에 이해하신게 맞는 상황입니다.
질문1 왜 65번째줄 knight.hp=100값을가져오는지 이해가 안됩니다
knight.hp = 100 값을 가져온다는게 어떤 의미일까요?
해당 부분은 knight 객체의 hp를 100으로 설정하는 것이지,
무엇인가를 '가져오는' 개념이 아닙니다.
질문2 knight.hp = 100을한다고 해서 class Knight의 hp변수가 public int hp=100으로 바뀌는건 아니지 않나요?
네 아닙니다. 생성된 knight라는 객체의 hp를 100으로 세팅하는 것이죠.
질문3
Kngiht knight2 = new Knight();경우말고
Knight knight2 = DeepCopy();일때 질문1의 경우와 같이 knight.hp=100 값을 가져오는 과정이 같은건가요?
질문이 잘 이해가 안 갑니다.
깊은 복사를 했다면 기본적으로 별도의 객체이기 때문에 knight.hp = 100로 1번 객체의 값을 설정하더라도, 2번 객체에는 영향을 주지 않습니다.
Generic에 대한 질문 있습니다.
0
96
2
2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?
0
201
2
다형성 캐시 문제
0
113
3
.
0
71
1
프로퍼티 강의 질문 있습니다.
0
78
1
이후 커리 질문
0
86
1
static
0
91
2
강의에는 새로운 클래스 파일을 생성하면...
0
72
1
생성자의 이름 선언
0
65
1
9:03 Divide(10 , 3) 부분 질문입니다
0
88
1
깃허브 관련 질문 있습니다.
0
239
1
비쥬얼 스튜디오 업데이트가 된건가요..? 매개변수 오류 관련 질문
0
249
1
C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!
0
306
2
Activator 질문있습니다
0
332
1
이넘 타임 선언 질문
0
346
1
Sort 오름차순, 내림차순
0
323
1
질문 있습니다.
0
249
1
팩토리얼 문제
0
270
1
Sort함수 질문있습니다.
0
265
1
다형성 함수 질문 있습니다.
0
221
1
질문이 있습니다.
0
227
1
섹션2 연습문제 질문입니다.
0
214
1
안녕하세요~서버에 대해 질문이 있습니다.
1
281
1
텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ
0
393
1

