* Object Class
- 모든 클래스는 기본적으로 이 클래스를 상속받는다.
- 모든 클래스의 객체는 이 클래스 타입으로 형변환을 할 수 있다.
- 가장 상위에 있는 공통 데이터 타입
- 메소드가 특정 클래스의 타입을 받지 않고 다양한 모든 타입을 받으려면
인수의 타입을 Object로 지정해야 한다.
============================
package oop8ex;
class English extends Object{
String publisher = "스크린영어사";
public void show(){
System.out.println("출판사: " + publisher);
System.out.println("시리즈: " + "screenplay");
}
}
public class ObjectEx1 {
public static void main(String[] args) {
//왼쪽의 자료형=오른쪽의 자료형
English eng=new English();
eng.show();
Object obj=new English();
//obj.show();//에러. 부모에 존재하는 메소드만 호출 가능
//부모를 자식으로 형변환
English mat=(English)obj;
mat.show();
}
}
==============================
package oop8ex;
//메소드가 받는 객체가 Object 타입이면 모든 객체를 전달 받을 수 있다
class Movie{
public static void displayStar(Object obj){
Screen screen=(Screen)obj;
System.out.println(screen.getData());
}
}
class Screen{
public String getData(){
return "";
}
}
class TitleA extends Screen{
public String getData(){
return "댄싱퀸";
}//override
}
class TitleB extends Screen{
public String getData(){
return "건축학개론";
}//override
}
public class ObjectEx2 {
public static void main(String[] args) {
TitleA ta=new TitleA();
System.out.println(ta.getData());
Movie.displayStar(ta);
TitleB tb=new TitleB();
Movie.displayStar(tb);
}
}
'..열심히 공부하세.. > JAVA 문법' 카테고리의 다른 글
[34] 제네릭 Generics (0) | 2012.05.08 |
---|---|
[33] Java Collections Framework (0) | 2012.05.08 |
[31] Exception 예외처리 (0) | 2012.05.04 |
[30] Interface 구현 (0) | 2012.05.03 |
[29] 내부클래스 (0) | 2012.05.03 |