(Q) 다음 요구사항에 맞게 데이터를 객체로 구현하고 정보를 출력하세요

- 아이디와 직업은 반드시 설정되도록 구현하세요
- 레벨을 설정하지 않으면 자동으로 1로 설정되게 구현하세요
Player 클래스
package day10_oop.constructor2;
public class Player {
// 멤버 필드
String name;
String type;
int level;
// 생성자
// 레벨을 입력받지 않았을 경우 자동으로 1이 되도록 (오버로딩)
Player(String name, String type){
this(name, type, 1); //여기서 this는 생성자 자신을 지칭한다
}
// 레벨을 입력할 경우 해당 레벨이 되도록
Player(String name, String type, int level){
this.name = name;
this.type = type;
this.level = level;
}
// 레벨업 메소드
void levelUP() {
this.level ++;
}
// 출력 메소드
void print() {
System.out.println("아이디 : " + this.name);
System.out.println("직업 : " + this.type);
System.out.println("레벨 : " + this.level);
System.out.println();
}
}
- 메소드 뿐만 아니라 생성자도 오버로딩할 수 있다
Test01
package day10_oop.constructor2;
public class Test01 {
public static void main(String[] args) {
// 객체 생성
Player a = new Player("마리오", "전사", 50);
Player b = new Player("루이지", "마법사"); // 레벨을 입력하지 않으면 자동으로 1이 되도록
Player c = new Player("피오나", "마법사", 1); // 레벨을 직접 1로 설정하는 것도 가능
// 출력
a.print();
b.print();
c.print();
}
}
'국비교육 > 국비교육 복습' 카테고리의 다른 글
day10_oop.getter2 : 멤버필드를 새로 정의하지 않고 총합, 평균 구하기 (1) (0) | 2022.08.13 |
---|---|
Day10_oop.setter2 : setter의 활용 (★) (0) | 2022.08.07 |
Day09_oop.method7 : 메소드 연습 (6) (0) | 2022.08.07 |
Day09_oop.method6 : 메소드 연습 (5) (0) | 2022.08.07 |
Day09_oop.method5 : 메소드 연습 (4) (0) | 2022.08.07 |