BackEnd/JAVA

JAVA Object class 최상위 클래스 객체

H_Develop 2022. 7. 28. 15:58

Object는 최상위 클래스 객체이다.
클래스에서 설정한 메서드가 어떤 때는 String 으로 받고, 어떤 때에는 int 로 받는 다면, 
원래는 Method Overloading으로 처리 가능하지만, Object를 사용할 수도 있다.

원래 C에서의 구조체(construct)와 유사한 개념으로 매개변수에 따라 자유롭게 받을 수 있게 한다.
하지만 미리 선해둘 필요는 없다.

 

class Extends {
	Object value;
	public Object getValue() {
//		System.out.println("fdf"); // main method에서 print함수로 부를때 호출이 되고,
		return value;
	}
	public void setValue(Object value) {
		this.value = value;
//		System.out.println("ff"); // main method에서 setVale 값을 넣을 때 호출이 된다.
	}
	public void setValue(int value) {
		this.value = value;
	}
}
class ExtendsEx1 extends Extends { }
public class ex1 {
	public static void main(String[] args) {

		ExtendsEx1 v1 = new ExtendsEx1();
//		v1.setValue("test");
		ExtendsEx1 v2 = new ExtendsEx1();
//		v2.setValue(100);	
		
// int i = (Integer)v2.getValue()식으로 Object를 강제 Integer로 형변환이 필요했지만, 기본 자료형으로 자동 형변환이 된다.
//		int i = (int)v2.getValue();
//		System.out.println(i+1);
//		System.out.println(v1.getValue());
		
		ExtendsEx1 v3 = new ExtendsEx1();
		v3.setValue(5);
		System.out.println(v3.getValue());
	}
}