IT 면접 족보27

권단비·2023년 2월 3일
0

IT

목록 보기
57/139

1. 다음 TV 클래스가 있다.

class TV{
   private int size;
   public TV(int size) { this.size = size; }
   protected int getSize() { return size; }
}
[1번] 다음 main() 메소드와 실행 결과를 참고하여 
TV를 상속받은 ColorTV 클래스를 작성하라.
public static void main(String[] args) {
   ColorTV myTV = new ColorTV(32, 1024);
   myTV.printProperty();
}
32인치 1024컬러

▼정답

//[1번] 다음 main() 메소드와 실행 결과를 참고하여 TV를 상속받은 ColorTV 클래스를 작성하라.
//32인치 1024컬러
class TV2 {
	private int size;

	public TV2(int size) {
		this.size = size;
	}

	protected int getSize() {
		return size;
	}
}

class ColorTV extends TV2 {
	int color;

	public ColorTV(int size, int color) {
		super(size);
		this.color = color;
	}

	public void printProperty() {
		System.out.println(super.getSize() + "인치 " + this.color + "컬러");
	}
}

public class Test42 {
	public static void main(String[] args) {
		ColorTV myTV = new ColorTV(32, 1024);
		myTV.printProperty(); // void
	}
}

2. 자바 컴파일러가 공짜로 해주는 거 2가지를 정리하시오.

▼정답

1. 디폴트 생성자가 없으면 디폴트 생성자 만들어 줌
2. 상속 시  super() 를 공짜로 넣어줌.

3. B b = new B(); 했을시 컴파일러가 넣는 코드를 완성하시오.

class A{
}
class B extends A{
}

▼정답

class A {
	// 생성자가 없으면 컴파일러가 하기 자동 생성
	// public A() {
	// }
}

class B extends A {
	// 생성자가 없으면 컴파일러가 하기 자동 생성
	// public B(){
	// super();
	// }
}

4. 상속을 UML로 표기하시오.

5. 아래의 업다운 게임을 완성하시오.

게임시작 1
게임종료 2
>>
1
숫자를 입력해주세요 : 50
Down ===> 9번 남아 있습니다.
숫자를 입력해주세요 : 30
Down ===> 8번 남아 있습니다.
숫자를 입력해주세요 : 15
Down ===> 7번 남아 있습니다.
숫자를 입력해주세요 : 8
Up ====> 6번 남아 있습니다.
숫자를 입력해주세요 : 9
Up ====> 5번 남아 있습니다.
숫자를 입력해주세요 : 10
Up ====> 4번 남아 있습니다.
숫자를 입력해주세요 : 11
Up ====> 3번 남아 있습니다.
숫자를 입력해주세요 : 12
Up ====> 2번 남아 있습니다.
숫자를 입력해주세요 : 13
Up ====> 1번 남아 있습니다.
숫자를 입력해주세요 : 14
일치
게임시작 1
게임종료 2
>>

▼정답

import java.util.Scanner;
public class UpDownGame {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = (int) (Math.random() * 100) + 1;
		boolean run = true;

		while (run) {
			for (int i = 9; i >= 0; i--) {
				System.out.print("숫자를 입력해주세요 : ");
				int input = sc.nextInt();
				if (input > num) {
					System.out.println("Down ====> " + i + "번 남아 있습니다.");
				} else if (input < num) {
					System.out.println("Up ====> " + i + "번 남아 있습니다.");
				} else if (input == num) {
					System.out.println("일치");
					break;
				}
				if (i == 0) {
					System.out.println("기회를 전부 소진하였습니다. \n정답은 [" + num + "] 입니다.");
				}
			}
			System.out.println("게임시작 y / 게임종료 n");
			String rePlay = sc.next();
			if (rePlay.equals("y") || rePlay.equals("Y")) {
				continue;
			} else {
				System.out.println("종료합니다.");
				break;
			}
		}
	}
}

0개의 댓글