인프런 커뮤니티 질문&답변
knight.Clone() 함수 질문
작성
·
300
0
knight2 객체를 만들 때 knight.Clone()함수를 만들어 그 안에서 new를 통해 새로운 객체를 힙 메모리 공간에 할당받아서 knight2가 그 clone안에서 new를 통해 새로 할당된 공간의 메모리를 참조하는걸로 이해를 했습니다. 실제로 메모리를 까봤는데 같은 주소를 참조하는것도 확인했습니다.
이때 저는 clone()에서 new로 할당된 새로운 knight값이 함수가 끝나면 죽을줄 알았는데 안죽고 참조하더라구요.. 이런 경우엔 clone()안의 new knight의 생명주기가 원본 knight의 소멸자가 실행될 때 인지 프로그램이 끝날때인지 knight2가 소멸될때인지 궁금합니다.
퀴즈
객체지향 프로그래밍에서 '클래스'와 '객체'의 관계를 가장 잘 설명하는 것은 무엇일까요?
클래스는 객체의 실제 데이터입니다.
객체는 클래스를 만들기 위한 설계도입니다.
클래스는 객체의 설계도이며, 객체는 설계도로부터 생성된 인스턴스입니다.
클래스와 객체는 완전히 동일한 개념입니다.





