목차
Java 상속 (Subclass, Superclass)
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
주소 복사
랜덤 이동
최신댓글