전사가 들고 있는 무기에 의해서 서로 다른 공격형태를 보이도록 하기(매개변수 금지)

인철·2023년 10월 13일
0

algorithm

목록 보기
32/91

상속문제

class Main {
	public static void main(String[] args) {
		전사 a전사 = new 전사();

		String 이름 = "칸";
		a전사.이름 = 이름;
		a전사.나이 = 20;
		a전사.자기소개();

		a전사.나이++;
		a전사.자기소개();

		a전사.나이 = 30;
		a전사.이름 = "카니";
		a전사.자기소개();

		a전사.a무기 = new();
		a전사.공격();
		// 출력 : 카니가 활로 공격합니다.

		a전사.a무기 = new();
		a전사.공격();
		// 출력 : 카니가 칼로 공격합니다.
	}
}

class 전사 {
	// 인스턴스 변수
	String 이름;
	// 인스턴스 변수
	int 나이;
	// 인스턴스 변수
	무기 a무기;

	void 자기소개() {
		System.out.println("안녕하세요. 저는 " + this.나이 + "살 " + this.이름 + " 입니다.");
	}

	void 공격() {
		a무기.사용자명 = 이름;
		a무기.작동();
	}
}

class 무기 {
	String 사용자명;
	void 작동() {
	}
}

classextends 무기 {
	void 작동() {
		System.out.println(사용자명 + "가 칼로 공격합니다.");
	}
}

classextends 무기 {
	void 작동() {
		System.out.println(사용자명 + "가 활로 공격합니다.");
	}
}
profile
같은글이있어도양해부탁드려요(킁킁)

0개의 댓글