객체를 대상으로한 대입 연산자는 어떤 기능을 하나요?
조회수 1051회
바로 본론으로 들어가겠습니다. 예를 들어
class alpha{
//이하생략
.
.
.
}
이라는 코드가 있고
public void main(String[] args){
alpha temp1 = new alpha(적당한값);
alpa temp2 = temp2;
}
라는 코드가 있다면 temp1과 temp2는 메모리상으로 동일한 객체를 가르키게 되나요? 아니면 단지 같은 값을 가지는 두개의 객체가 되나요?
후....원래는 C언어를 주로 파다가 JAVA로 넘어오니 적응안되는게 여러가지 있네요.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
동일한 객체를 가리킵니다.
쉽게 생각하면 됩니다. 자바에서 new 연산자를 사용한 것은 모두 heap 에 생성합니다. c에서 malloc 를 사용했다고 생각하면 됩니다.
클래스 객체명;
이런 선언은 레퍼런스이고 c에서는 그나마 제일 가까운 것이 포인터일 것 같습니다.즉 질문에서 코드가 이상한데...
alpha temp1 = new alpha(적당한값); alpha temp2 = temp1;
일 때 temp1 과 temp2 는 같은 객체를 가리킵니다.
댓글 입력