• 회원가입
  • 로그인
  • 구글아이디로 로그인

[class] Java - Inheritance (상속)

997  

목차

  1. Java 상속 (Subclass, Superclass)
  2. final 키워드 - 상속 차단

 

Java 상속 (Subclass, Superclass)

 

Java에서는 한 클래스에서 다른 클래스로 (속성・메소드) 상속 가능.

 

※ 상속 장점: 

① 기존 코드 재사용 가능. 

다형성 (= 상속한 메서드로 다른 작업 수행).

 


 

1.

subclass (자식클래스)

다른 클래스를 상속하는 클래스.

 

superclass (부모클래스)

다른 클래스에 의해 상속되는 클래스.

 

2.

extend 키워드 사용해 상속.

 


[예제] ExHz (자식)클래스가 Hz (부모)클래스를 상속.

※ 상속해야만 ExHz 클래스에서 Hz 클래스의 site 속성 사용 가능.

 

1.

C:\Users\사용자명\ExHz.java 생성.

 

class Hz {

  protected String site = "홈짱닷컴";

  public void intro() {

    System.out.println("코딩언어 그누보드 서버관리 강의");

  }

}


class ExHz extends Hz {

  private String host = "Homzzang.com";

  public static void main(String[] args) {

    ExHz my = new ExHz();

    my.intro();

    System.out.println(my.site + " " + my.host);

  }

}

 

2.

ExHz.java 파일 컴파일.

C:\Users\aspire>javac -encoding UTF-8 ExHz.java

 

3.

ExHz 클래스 실행.

C:\Users\aspire>java ExHz

 

결과값:

코딩언어 그누보드 서버관리 강의

홈짱닷컴 Homzzang.com

 

final 키워드 - 상속 차단

 

다른 클래스가 상속 받는 걸 차단.

※ 부모 클래스 선언 부분에 final 키워드 추가.

 


[예제] ExHz 클래스가 Hz 클래스 상속하는 걸 차단.

※ 그 결과, 컴파일 시 에러 발생.

 

1.

C:\Users\사용자명\ExHz.java 생성.

 

final class Hz {

 ...

}


class ExHz extends Hz {

 ...

}

 

2.

ExHz.java 파일 컴파일. (※ 에러 발생.)

C:\Users\aspire>javac -encoding UTF-8 ExHz.java

 

결과값:

ExHz.java:8: error: cannot inherit from final Hz

class ExHz extends Hz {

                   ^

1 error




분류 제목
Keyword Java - instanceof 키워드 - 객체가 클래스(또는, 인터페이스)의 인스턴스인지 체크. (= 인스…
Keyword Java - int 키워드 - int 정수 자료형 변수 선언.
Keyword Java - interface 키워드 - 인터페이스 선언
Keyword Java - long 키워드 - long 자료형 정수 담는 변수 선언.
Keyword Java - module 키워드 △ - 모듈 선언.
Keyword Java - native 키워드 △ - 메서드가 동일 Java 소스 파일(다른 언어)에서 구현되지 않도록 지…
Keyword Java - new 키워드 - 새로운 객체 생성 (= new키워드 = 뉴키워드)
Keyword Java - package 키워드 - 패키지 선언.
Keyword Java - private 키워드 - 선언된 클래스 안에서만 접근 가능 설정.
Keyword Java - protected 키워드 - 같은 패키지 및 서브 클래스에서만 접근 가능 설정.
Keyword Java - public 키워드 - 다른 클래스의 접근을 허용. (= 퍼블릭)
Keyword Java - requires 키워드 △ - 모듈 내부에 필요한 라이브러리 지정. (Java 9 이상)
Keyword Java - return 키워드 - 메서드 실행 후, 값을 반환.
Keyword Java - short 키워드 - short 정수 자료형 선언.
Keyword Java - static 키워드 - 객체 생성 없이 바로 접근 가능한 (메서드/속성) 선언.
Keyword Java - strictfp 키워드 △ - 부동 소수점 계산 정밀도 및 반올림 제한.
Keyword Java - super 키워드 - 슈퍼클래스 (= 부모클래스) 객체 의미.
Keyword Java - switch 키워드 - switch 조건문 선언.
Keyword Java - synchronized 키워드 △ - 한 번에 하나의 스레드에서만 메소드에 접근 가능 지정하는 …
Keyword Java - this 키워드 - (메서드・생성자)에서 현재 객체 지칭. (= 디스)
5/10
목록
찾아주셔서 감사합니다. Since 2012