자바 프로그래밍 12번째 수업

김형우·2022년 11월 8일
0

Java

목록 보기
12/22

1. is a 관계와 has a 관계에 대하여 설명하시오.

IS-A관계는 ~~는 ~~이다 (상속관계)
HAS-A 관계는 ~~는 ~~에 속해있다 (포함관계)

2. 다형성(polymorphism)이란 무엇인가?

하나의 객체에 여러가지 타입을 대입할수 있는 것을 뜻한다.

3. 아래가 되지 않는 이유에 대하여 메모리 그림으로 설명하시오.

SmartPhone ph2 = new MobilePhone();

출처.(강사님 블로그)
https://luckyguystory.tistory.com/15

부모 클래스로 객체를 생성하게되면 
부모 클래스의 변수와 메소드만 메모리에 올라가기때문에,
자식 클래스에서 정의된 변수와 메소드를 사용할 수 없다.

4.다음을 만족하는 클래스 Employee를 작성하시오

  • 클래스 Employee(직원)은 클래스 Regular(정규직)와 Temporary(비정규직)의 상위 클래스
  • 필드: 이름, 나이, 주소, 부서, 월급 정보를 필드로 선언
  • 생성자 : 이름, 나이, 주소, 부서를 지정하는 생성자 정의
  • 메소드 printInfo() : 인자는 없고 자신의 필드 이름, 나이, 주소, 부서를 출력

class Employee {

	String name;
    int age;
    String addr;
    String depart;
    int salary;
    
    Employee(String name, int age, String addr, String depart){
    this.name = name;
    this.age = age;
    this.addr = addr;
    this.depart = depart;
    }
    
    public void printInfo(){
    	System.out.println("이름" + name);
        System.out.println("나이" + age);
        System.out.println("주소" + addr);
        System.out.println("부서" + depart);
    }
}

5. 다음을 만족하는 클래스 Regular를 작성하시오. Series_02 (필수)

클래스 Regular는 위에서 구현된 클래스 Employee의 하위 클래스
생성자 : 이름, 나이, 주소, 부서를 지정하는 상위 생성자 호출
Setter : 월급 정보 필드를 지정
메소드 printInfo() : 인자는 없고 "정규직"이라는 정보와 월급을 출력


class Regular extends Employee{
	
    public Regular(String name, int age, String addr, String depart){
    	super(name, age, addr, depart);
    }

	public setSalary(int Salary){
    	super.salary = salary;
    }
    
    public void printInfo(){
		System.out.println("정규직");
        System.out.println("당신의 월급 : " + salary);
    }
}

6. 갬블링 게임을 만들어 보자.(Main 안에서 모든 로직을 처리하지 말고, class로 만들어서 활용해 보도록 합시다.)

두 사람이 게임을 진행한다.
이들의 이름을 키보드로 입력 받으며 각 사람은 Person 클래스로 작성하라.
그러므로 프로그램에는 2개의 Person 객체가 생성되어야 한다.
두 사람은 번갈아 가면서 게임을 진행하는데 각 사람이 자기 차례에서 Enter 키를 입력하면,
3개의 난수가 발생되고 이 숫자가 모두 같으면 승자가 되고 게임이 끝난다.

난수의 범위를 너무 크게 잡으면 3개의 숫자가 일치하게 나올 가능성이 적기 때문에 숫자의 범위는 1~3까지로 한다.

출력 결과

1번째 선수 이름>>수희
2번째 선수 이름>>연수
[수희]:
3  1  1  아쉽군요!
[연수]:
3  1  3  아쉽군요!
[수희]:
2  2  1  아쉽군요!
[연수]:
1  1  2  아쉽군요!
[수희]:
3  3  3  수희님이 이겼습니다

소스코드

모르겠음 ㅜㅜ

profile
개발자 지망생

0개의 댓글