부모클래스 = 상위클래스 = SUPER클래스
자식클래스 = 하위클래스 = SUB클래스
super은 자식클래스가 상속 받는 부모클래스의 함수 및 데이터멤버를 호출할 때 사용
this는 해당 클래스 내의 함수 및 데이터멤버를 호출할 때 사용
단일 상속 : 하나의 자식클래스가 하나의 부모클래스를 가지는 것
다중 산속 : 하나의 자식클래스가 두 개 이상의 부모클래스를 가지는 것 (JAVA에선 불가능)
String course[] = {"Java", "C++", "HTML5", "컴퓨터구조", "안드로이드"};
int score[] = {95, 88, 76, 62, 55};
그리고 다음 예시와 같이 과목 이름을 입력받아 점수를 출력하는 프로그램을 작성하라.
"그만"을 입력받으면 종료한다. (Java는 인덱스 0에 있으므로 score[0]을 출력)
과목 이름 >> Jaba
없는 과목입니다.
과목 이름 >> Java
Java의 점수는 95
과목 이름 >> 안드로이드
안드로이드의 점수는 55
과목 이름 >> 그만
[Hint] 문자열을 비교하기 위해서는 String 클래스의 equals()메소드를 이용해야 한다.
String name;
if(course[i].equals(name)) {
int n = score[i];
...
}
public static void main(String[] args) {
String course[] = { "Java", "C++", "HTML5", "컴퓨터구조", "안드로이드" };
int score[] = { 95, 88, 76, 62, 55 };
Scanner sc = new Scanner(System.in);
while (true) {
boolean x = true;
System.out.println("과목 이름 >> ");
String sub = sc.nextLine();
if (sub.equals("그만")) {
System.out.println("프로그램을 종료합니다.");
break;
} else {
for (int i = 0; i < course.length; i++) {
if (course[i].equals(sub)) {
int n = score[i];
System.out.println(course[i] + "의 점수는 " + n);
x = false;
break;
}
}
if (x)
System.out.println("없는 과목입니다");
}
}
}
instanceof는 데이터 타입을 확인하는 연산자이다.
형변환 가능 여부를 확인하며 true / false로 결과를 반환한다.
주로 상속 관계에서 부모객체인지 자식객체인지 확인하는데 사용된다.
public static void main(String[] args) {
Friend[] frns = new Friend[10];
int cnt = 0;
frns[cnt++] = new UnivFriend("LEE", "Computer", "010-333-555");
frns[cnt++] = new UnivFriend("SEO", "Electronics", "010-222-444");
frns[cnt++] = new CompFriend("YOON", "R&D 1", "02-123-999");
frns[cnt++] = new CompFriend("PARK", "R&D 2", "02-321-777");
// 모든 동창 및 동료의 정보 전체 출력
for(int i = 0; i < cnt; i++) {
frns[i].showInfo(); // 오버라이딩 한 메소드가 호출된다.
System.out.println();
}
}
class Friend{
protected String name;
protected String phone;
public Friend(String na, String ph) {
this.name = na;
this.phone = ph;
}
public void showInfo() {
System.out.println("이름 : " + name);
System.out.println("전화 : " + phone);
}
}
class CompFriend extends Friend{
private String department;
public CompFriend(String na, String de, String ph) {
super(na,ph);
this.department = de;
}
@Override
public void showInfo() {
super.showInfo();
System.out.println("부서 : " + department);
}
}
class UnivFriend extends Friend{
private String major;
public UnivFriend(String na, String ma, String ph) {
super(na,ph);
this.major = ma;
}
@Override
public void showInfo() {
super.showInfo();
System.out.println("전공 : " + major);
}
}