// 부모 클래스
class 축구팀 {
String 이름;
String 성별;
String 학과;
int 학년;
void 공차기() {}
void 수비하기() {}
void 공격하기() {}
}
// 자식 클래스
class 야구팀 extends 축구팀 {
String 주민등록번호; // 추가된 필드
void 공던지기() {} // 추가된 메서드
}
class 축구선수 {
private String 이름; // 숨겨짐
public void set이름(String 이름) {
this.이름 = 이름; // 공개된 메서드로만 접근 가능
}
}
유노.패스하다("홍길동");
하나의 인터페이스로 다양한 구현을 제공
class 스포츠 {
void 공격하다() {} // 추상적인 메서드
}
class 축구 extends 스포츠 {
void 공격하다() {/* 발로 공을 차는 공격 */}
}
class 농구 extends 농구 {
void 공격하다() {/* 농구 골대에 공을 넣는 공격 */}
}
// 메서드 호출
스포츠 player;
player = new 축구();
player.공격하다(); // 축구의 공격 메서드 실행
player = new 농구();
player.공격하다(); // 농구의 공격 메서드 실행
// 클래스 선언
public class 축구팀 {
// 필드(데이터)
String 이름;
int 등번호;
String 포지션;
// 메서드(행동)
void 패스하기() {
System.out.println(이름 + " 선수가 공을 전달했습니다.");
}
}
public class 축구팀만들기 {
public static void main(String[] args) {
축구팀 선수_01 = new 축구팀();
선수_01.이름 = "유노";
선수_01.등번호 = 10;
선수_01.포지션 = "미드필더";
// 객체의 필드 출력
System.out.println(선수_01.이름 + " 의 등번호는 " + 선수_01.등번호 + "번 입니다.");
// 객체의 메서드 호출
선수_01.패스하기();
}
}