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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기