OPEN between Secret

메소드 오버라이딩 만들기 2 (super 나옴) 본문

java/예제

메소드 오버라이딩 만들기 2 (super 나옴)

해가꿈꾸는달 2012. 5. 30. 20:38
반응형

 class Person {
     String phone;
 
     public void setPhone(String phone) {
          this.phone= phone;
     }
 
     public String getPhone() {
          return phone;
     }
}

 

class Professor extends Person {
     public String getPhone() {                                // Person의 getPhone()을 오버라이딩함
          return "Professor : " + super.getPhone();      // super.getPhone()은 Person의 getPhone()을 호출
     }
}


public class Overriding {
     public static void main (String [] args) {
          Professor a = new Professor();
          a.setPhone("011-123-1234");                        
          System.out.println(a.getPhone());
  
      Person p = a;
      System.out.println(p.getPhone());
     }
}

----------------------------------------------------------------------------------

출력시
professor : 011-123-1234
professor : 011-123-1234

이 된다.

!!!! 주       의  !!!
여기서 super라는 새로운 키워드가 나오는데 this, this(), super, super()를 헷갈리지 말자!
 1) this 는 현재 객체의 주소(혹은 레퍼런스)를 갖는다.                           ----->   this.객체내의멤버
 2) super 는 현재 객체 내에 있는 슈퍼 클래스 영역의 주소를 갖는다.        ----->  super.객체내의슈퍼클래스의멤버
 3) this() 는 생성자에서 동일한 클래스 내의 다른 생성자를 호출할떄 쓰임.
 4) super()는 서브 클래스의 생성자에서 슈퍼 클래스의 생성자를 선택 호출할때 사용 

예제 - 명품 java programming -

반응형

'java > 예제' 카테고리의 다른 글

메소드 오버라이딩 만들기  (0) 2012.05.28
instanceof를 이용한 객체 구별  (0) 2012.05.28
상속 관계에 있는 클래스 간 멤버 접근  (0) 2012.05.28
상속 만들어 보기 ~  (0) 2012.05.27
static을 이용한 예제  (0) 2012.05.26