-
[Java_Basic]클래스의 상속3 : 상속의 목적(윤성우의 열혈 Java 프로그래밍)Java/Basic 2021. 1. 2. 16:29
상속의 활용
class Friend{ protected String name; protected String phone; public Friend(String na, String ph){ name = na; phone = ph; } public void showInfo(){ System.out.println("이름 : " + name); System.out.println("전화 : " + phone); } } class UnivFriend extends Friend{ private String major; public UnivFriend(String na, String ph, String ma){ super(na, ph); major = ma; } public void showInfo(){ super.showInfo(); System.out.println("전공 : " + major); } } class CompFriend extends Friend{ private String department; public CompFriend(String na, String ph, String de){ super(na, ph); department = de; } public void showInfo(){ super.showInfo(); System.out.println("부서 : " + department); } } class MyFriends2{ public static void main(String[] args){ Friend[] frns = new Friend[10]; int cnt = 0; frns[cnt++] = new UnivFriend("LEE","Computer","010-444-333"); frns[cnt++] = new UnivFriend("SEO","Electronics","010-333-222"); frns[cnt++] = new CompFriend("WON","R&D1","010-213-2323"); frns[cnt++] = new CompFriend("HAN","R&D2","010-2323-2313"); for(int i = 0;i<cnt;i++){ frns[i].showInfo(); System.out.println(); } } }
모든 클래스는 Object 클래스를 상속한다.
toString 메소드를 정의했을때 Object 클래스에 있는 메소드를 오버라이딩한것
final 선언
public final class MyLastCLS{...}
->다른 클래스를 상속 할 수 없음
class Simple{
public final void func(int n){...} -> 다은 클래스에서 오버라이딩 할 수 없음
}
@Override
어노테이션 / 오버라이딩 했다는 것을 표시, 기능을 더해주진 않지만 오버로딩을 방지
상위 클래스의 메소드를 오버라이딩 하는 것이 목적이라는 선언!
오버라이딩을 하는 형태가 아니면 컴파일러가 오류 메시지 전달
'Java > Basic' 카테고리의 다른 글
[Java_Basic]예외처리(윤성우의 열혈 Java 프로그래밍) (0) 2021.01.02 [Java_Basic]인터페이스와 추상 클래스(윤성우의 열혈 Java 프로그래밍) (0) 2021.01.02 [Java_Basic]클래스의 상속 2 : 오버라이딩(윤성우의 열혈 Java 프로그래밍) (0) 2021.01.02 [Java_Basic]클래스의 상속1 : 상속의 기본(윤성우의 열혈 Java 프로그래밍) (0) 2021.01.02 [Java_Basic]배열(윤성우의 열혈 Java 프로그래밍) (0) 2021.01.02