반응형

자바의 SUPER KEYWORD


자바에서 super키워드는 부모 클래스 객체를 참조하는 변수를 참조합니다.

 

하위 클래스의 인스턴스를 생성 때마다, 부모 클래스의 인스턴스가 잠적으로 만들어지며 이는 super 참조 변수에 의해 참조됩니다.



  Super Keyword 쓰임새

  

1.super 부모클래스의 인스턴스 변수로 참조 있습니다.

2.super 부모클래스 메소드를 바로 사용하기위해 사용될 있습니다.

3. super() 부모클래스 생성자를 바로 사용하기위해 사용될 있습니다.


  1. super 부모 클래스 인스턴스 변수를 참조하기위해 사용될


super keyword 부모클래스의 필드나 데이터 멤버에 접근하기 위해 사용할 있는데,

부모클래스와 자식클래스가 같은 이름의 필드를 가질 사용됩니다. 


SuperTest01이라는 클래스를 만들어주세요.


Animal이라는 부모가 될 클래스르 만들고 


자식클래스가될 Dog클래스를 만들고 Animal을 상속합시다.

그리고 찍어볼수있게 리턴 타입이 void인 메소드를 만듭니다.



그리고 메인 메소드를 가진  SuperTest01객체에서

Dog클래스를 생성하고 Dog 객체의 메소드를 호출하고 결과값을 봅시다.!



결과값이 보이시죠? 예상했던 결과인가요?



자세히 들여야본다면,  Animal클래스과 Dog클래스 모두 color라는 공통된 필드가 있는데,

아무런 키워드없이 Dog객체를 생성하고 color 필드를 그냥 찍는다면,

 Dog color값만 나오게될테죠


그렇다고 일일이 Animal클래스를 객체생성하여 사용하기에는 상속의 의미가 없어지고

이를 해결하기위해     super.이라는 키워드를 사용하여

별다른 절차없이 바로 부모클래스의 필드값으로 접근할 있습니다

자바에서는 다중 상속을 막아놨기 때문에 헷갈릴 필요도 없지요.

정말로 진짜 진심으로 다중상속이 필요하다면 인터페이스를 이용하면됩니다.

그리고,  



이해가 잘 되셨나요? 

계속 super keyword의 쓰임새를 알아보도록 하지요!


반응형
by 발전소장 에르 :) 2017. 8. 2. 12:16