java oop 02 객체생성

bitcogo·2022년 4월 9일
0

/*
Tv t; 1.참조변수(리모콘)
3.리모콘과 연결 2.객체를 만들어서
t = new Tv();

클래스명 변수명 = new 클래스명(); */

    Tv t = new Tv();
	
	t.channel = 7;//tv객체의 변수 channel의 값을 7로 한다.
	t.channelDown();//tv객체의 channelDown()메서드를 호출한다.
	System.out.println("현재 채널은 "+t.channel);
	
	/*
	1.클래스작성 (설계도 작성)
		Class Tv{
		
		boolean power;//변수
		int channel;
		
		Void power{//메서드
			power != power;
		}
	}
	
	2.객체생성 (제품 생성)
	참조변수는 리모콘
	Tv t = new Tv();
	
	3.객체의 사용 (제품 사용):메서드 호출
    객체사용은 리모콘(t)을 통해서만 할 수 있다.
	t.channel = 7;
	t.channelDown();
	
	*/
    
	//객체마다 별도의 저장공간이 생긴다.
	Tv t1 = new Tv();//t1의 참조변수주소 0x100
	Tv t2 = new Tv();//t2의 참조변수주소 0x200
	t2 = t1;// t1의 주소값(0x100)이 t2에 대입됨. t2의 주소값도 0x100이 됨
	// 그러면 0x200은 사용불가가됨. 그러면 가비지컬렉터(GC)가 제거함.
	t1.channel = 7;
	
	
	System.out.println(t1.channel);
	//t2도 t1과 같이 0x100을 가르키니까 같은 값이 나옴
	System.out.println(t2.channel);

	

2개의 참조변수로 하나의 객체를 가르키는 것 가능.
t1 -> 0x100
t2 -> 0x100
1개의 참조변수가 두개의 객체를 가르키는 것 불가능. (참조변수는 하나의 값만 저장하니까)
t1 -> 0x100
t1 -> 0x200

profile
공부하고 기록하는 블로그

0개의 댓글