본문 바로가기

AWS CLOUD FRAMEWORK/Java

[Day13] Summary2

Main

package summary2;

public class Main {
	// 다음 메인함수의 내용이 잘 작동하도록 클래스를 구성하세요
	// Cat과 Dog의 공통속성을 묶어서 처리할 슈퍼클래스 Animal을 작성하세요
	// 필요하다면, 생성자를 수정하여 상속관계에 맞게 작동하도록 수정하세요
	// Human에서는 나누어져있는 give메서드를 하나로 통일하세요
	public static void main(String[] args) {
		
		Human man = new Human("원빈");
		Cat cat = new Cat("나옹이");
		Dog dog = new Dog("바둑이");
		
		man.give(cat);	// 원빈이 나옹이에게 먹이를 준다
		man.give(dog);	// 원빈이 바둑이에게 먹이를 준다
	}
}

Human

package summary2;

public class Human {
	String name;
	
	Human(String name) {
		this.name = name;
	}
	
//	void give(Cat cat) {
//		System.out.printf("%s이 %s에게 먹이를 준다\n", name, cat.name);
//	}
//	void give(Dog dog) {
//		System.out.printf("%s이 %s에게 먹이를 준다\n", name, dog.name);
//	}
	void give(Animal ob) {
		System.out.printf("%s이 %s에게 먹이를 준다\n", name, ob.name);
	}
}

Animal

package summary2;

// 공통 속성과 기능은 슈퍼클래스에

public class Animal {
	String name;
	
	Animal(String name) {
		this.name = name;
	}
}

Cat

package summary2;

// 개별 속성과 기능은 서브클래스에
// 서브클래스의 생성자는 반드시 슈퍼클래스의 생성자를 호출

public class Cat extends Animal {
	
	Cat(String name) {
		super(name);
	}
}

Dog

package summary2;

public class Dog extends Animal {
	
	Dog(String name) {
		super(name);
	}
}

'AWS CLOUD FRAMEWORK > Java' 카테고리의 다른 글

[Day13] Summary4  (0) 2023.04.06
[Day13] Summary3  (0) 2023.04.06
[Day13] summary1  (0) 2023.04.06
[Day15] Ex06  (0) 2023.04.06
[Day13] Ex05  (0) 2023.04.06