728x90
1.
class SuperClass{
static String greeting() {return "Good Bye";}
String name() {return "Oak";}
}
class SubClass extends SuperClass{
static String greeting() {return "Hello";} // 반환형 동일(메소드 오버라이딩)
String name() {return "Java";}
}
public class ExerciseCh6_7_1 {
public static void main(String[] args) {
SuperClass s = new SubClass();
//SubClass형이고 s가 가리키는 객체의 형은 SuperClass일 수 없음.
System.out.println(s.greeting() + ", " + s.name());
}
}
2.
class SuperClass{
int value;
SuperClass(){ // 상위 클래스에 디폴트 생성자 추가
value = 0;
}
SuperClass(int i){
value = i;
}
void output() {
System.out.println("SuperClass : " + value);
}
}
class SubClass extends SuperClass{
int value;
SubClass(int i){
value = i;
}
void output() {
System.out.println("SubClass : " + value);
}
}
public class ExerciseCh6_7_2 {
static void print(SuperClass obj) { // 매개변수형 바꿈
obj.output();
}
public static void main(String[] args) {
SuperClass obj1 = new SuperClass(1);
SubClass obj2 = new SubClass(1);
print(obj1);
print(obj2);
}
}
반응형
'전.java' 카테고리의 다른 글
큐 클래스 (Queue) (0) | 2021.02.09 |
---|---|
점 연산자 사용 (0) | 2021.02.09 |
클래스 상속 (0) | 2021.02.09 |
퀵 정렬(quick sort) (0) | 2021.02.08 |
외부 클래스 (인스턴스 메소드, 정적 메소드) (0) | 2021.02.08 |