프로그래밍

[자바 기초] new 객체 생성과 주소값 본문

자바/자바 기초

[자바 기초] new 객체 생성과 주소값

시케 2023. 6. 2. 11:18
728x90
반응형

new 객체 생성과 주소값

package day0602;

class Apple {
	private int num; 
	
	Apple() {
		this.num = 1;
	}
	
	public int getNum() {
		return num;
	}

	public void setNum(int num) {
		this.num = num;
	}

}

public class Test01 {

	public static void main(String[] args) {
		Apple apple = new Apple();
		Apple copy = apple;		
		
		System.out.println(apple);
		System.out.println(copy);
		
		String a = new String();
		a = "a값";
		String b = a;	
		
		System.out.println(a);
		System.out.println(b);
		
		// Apple copy=new Apple();
		// copy.setXxx(apple.getXxx());

		//new개수==객체개수

	}
}

 

출력 결과

day0524.Apple@7c30a502

day0524.Apple@7c30a502

a값

a값

 

Apple 클래스 객체를 "apple"이라는 이름으로 선언하고 new(인스턴스화, 객체화) 하였다

그 후 Apple 클래스 객체 자료형을 갖는 "copy"를 선언하여 "apple"을 저장하였다

 

이때 copy는 new 하지 않았기 때문에 새로운 객체가 아니라 일종의 바로가기 형식으로 main()에 생성되며 그 자리에 "apple"의 객체 주소를 가질 뿐이다

해당 주소를 가지고 있기 때문에 참조하여 값에 접근할 수 있다

※ 힙메모리에 copy는 존재하지 않는다

 

단, copy는 객체는 맞다

 

우리가 쓰는 컴퓨터 바로가기 아이콘 또한 이러한 방식으로 구현된다

 

 

객체 생성과 주소에 따른 게시물

2023.05.09 - [자바 기초] - [자바 기초] day05 : 함수의 인자

 

[자바 기초] day05 : 함수의 인자

2023.05.09.화 함수의 인자 함수를 호출할 때 인자로 배열을 쓰는 경우 참조에 의한 호출이 발생한다 이때 배열 값을 반환하지 않더라도 함수 인자에 배열의 주소 값이 전달되었기 때문에 힙 메모

dev-9rm.tistory.com

2023.05.10 - [자바 기초] - [자바 기초] day06 : 클래스

 

[자바 기초] day06 : 클래스

2023.05.10.수 클래스 클래스는 자바의 기본 단위의 객체이다 클래스는 객체이므로 상태와 동작을 갖는다 상태: 멤버변수, 필드, 속성 동작(기능): 멤버함수, 메서드 클래스는 C의 구조체와 같다 생

dev-9rm.tistory.com

 

728x90
반응형
Comments