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());
}
}
JAVA 추상 메서드와 클래스 Abstract method, class (0) | 2022.07.28 |
---|---|
JAVA Generics Class Method 제네릭 클래스 메서드, 배열 Array (0) | 2022.07.28 |
JAVA 생성자, 접근 제한자(접근제어자), 추상 클래스 추상 메서드 개념정리 (0) | 2022.07.28 |
JAVA inherit 상속, private, super 생성자 (0) | 2022.07.28 |
JAVA 메서드 호출 방식(값 호출, 주소 호출) static, abs() 절대값 (0) | 2022.07.26 |