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());
}
}