개발동

참조변수와 인스턴스의 연결 본문

Programming/Java

참조변수와 인스턴스의 연결

DuckFin 2021. 9. 26. 15:25

부모클래스 타입의 참조변수가 자식 클래스의 인스턴스를 참조했을때,

부모&자식 내에 이름이 같은 멤버변수나 함수가 있을 경우

 

멤버함수의 경우 : 참조변수는 자식 인스턴스의 함수를 따라감

(Overriding 되어, 무조건 참조한 자식 인스턴스의 메서드로 적용됨)

멤버변수의 경우 : 참조변수의 데이터 타입을 따라감

(참조변수의 데이터 타입에 따라 달라짐)

 

class Parent
{
	int x = 100;
	void method() {
		System.out.println("Parent");
	}
}

class Child extends Parent
{
	int x = 200;
	void method() {
		System.out.println("Child");
	}
}
public class BindingTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Parent p = new Child();
		Child c = new Child();
		
		System.out.println(p.x); //Child
		p.method(); //100
		
		System.out.println(c.x); //Child
		c.method(); //200
	}
}

class Parent
{
	int x = 100;
	void method() {
		System.out.println("Parent");
	}
}

class Child extends Parent{}

public class BindingTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Parent p = new Child();
		Child c = new Child();
		
		System.out.println(p.x); //Parent
		p.method(); //100
		
		System.out.println(c.x); //Parent
		c.method(); //100
	}

}

'Programming > Java' 카테고리의 다른 글

java, class, bc 파일  (0) 2022.06.28
[예제] 여러 종류의 객체를 배열로 다루기  (0) 2021.09.26
상속  (0) 2021.09.26
Calendar 클래스  (0) 2021.09.23
난수 생성  (0) 2021.09.23