2023-02-08 수 / JAVA

권혁현·2023년 2월 8일
0

Java

목록 보기
29/44
post-thumbnail

1.부모클래스와 자식클래스의 다른 용어들은?

  • 부모클래스 = 상위클래스 = SUPER클래스

  • 자식클래스 = 하위클래스 = SUB클래스

2.super 키워드와 this 키워드의 차이는 무엇인가요?

  • super은 자식클래스가 상속 받는 부모클래스의 함수 및 데이터멤버를 호출할 때 사용

  • this는 해당 클래스 내의 함수 및 데이터멤버를 호출할 때 사용

3.단일 상속과 다중상속 이란?

  • 단일 상속 : 하나의 자식클래스가 하나의 부모클래스를 가지는 것

  • 다중 산속 : 하나의 자식클래스가 두 개 이상의 부모클래스를 가지는 것 (JAVA에선 불가능)

4.다음 코드와 같이 과목과 점수가 짝을 이루도록 2개의 배열을 작성하라.

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("없는 과목입니다");
			}
		}
	}

5. instanceof 에 대하여 설명하시오.

  • instanceof는 데이터 타입을 확인하는 연산자이다.

  • 형변환 가능 여부를 확인하며 true / false로 결과를 반환한다.

  • 주로 상속 관계에서 부모객체인지 자식객체인지 확인하는데 사용된다.

6.아래가 돌아가도록 짜시오.

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);
	}
}

0개의 댓글