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

[class] Java - Inheritance (상속)

980  

목차

  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




분류 제목
class Java - LinkedList (링크트리스트) - 반복 접근 최적화 된 유사 배열
class Java - HashMap (해시맵) - key=value 쌍의 유사 배열. (Python Dictionar…
class Java - HashSet (해시셋) - 유일값만 인정하는 유사 배열. ※ Python의 Set과 유사.
class Java - Iterator (반복자)
class Java - Wrapper Classes (랩퍼 클래스)
class Java - Exceptions (= Try...Catch..) - 에러 제어 (= 익셉션 = 트라이...캐…
class Java - RegEx (정규식) - 정규표현식
class Java - Threads (쓰레드)
class Java - Lambda (람다 표현식)
file Java - File 클래스 + 메서드
file Java - Create/Write Files (파일 생성/쓰기)
file Java - Read Files (파일 읽기) - 파일 정보 얻기
file Java - Delete Files (파일 삭제)
Keyword Java - Keywords (키워드) 종류
Keyword Java - abstract 키워드 - 추상 (클래스/메서드) 선언.
Keyword Java - assert 키워드 △ - 디버깅 할 때 사용.
Keyword Java - boolean 키워드 - 참거짓 자료형 지정.
Keyword Java - break 키워드 - (반복문・switch 조건문) 탈출. (= 브레이크)
Keyword Java - byte 키워드 - 1byte 크기의 '정수형' 자료형 지정. (= 바이트)
Keyword Java - case 키워드 - switch 조건문의 각 조건 지정.
3/10
목록
찾아주셔서 감사합니다. Since 2012