TIL | Java - OOP 특징 : 1.상속

2022. 10. 6. 17:45·Java

1. 상속

: 부모가 자식에게 물려주는 행위 

  • 부모 클래스 : 상위 클래스
  • 자식 클래스 : 하위 클래스

상속은 코드의 중복을 없애줘요! 하지만, 제대로 파악이 안 된다면 이해가 안 갈 수 있습니다.

❗️ 상속은 몇단이 되어도 다 상속 받을 수 있다.

❗️ 그러나 하나의 부모 클래스만 상속 받을 수 있다!

❗️ 생성자는 부모클래스에서 자식클래스한테 상속이 안 된다.

클래스 상속 

public class 자식클래스명 extends 부모클래스명 {

}

 

❗️예제 

🧙‍♂️ 마법사 : wizard  |  🦹 전사 : warrior  |  🕹 플레이어 : player

① Player 클래스로 상속관계를 만들어 주세요.
② 전사는 생성될 때 이름만 매개변수로 받고, hp = 100, mp = 50이 됩니다.
③ 전사는 강력한 bash()를 가지고 있습니다.
    bash()는 호출될 때마다 mp를 -10씩 감소시킵니다.
④ 마법사는 생성될 때 이름만 매개변수로 받고, hp = 50, mp = 100이 됩니다.
⑤ 마법사는 강력한 iceArrow()를 가지고 있습니다
    iceArrow()는 호출될 때마다 mp를 -20씩 감소시킵니다
더보기

부모 클래스 : Player 클래스

public class Player {
	
	String name;
	int hp;
	int mp;
	
	void info() {
		System.out.println("캐릭터명:" + name);
		System.out.println("hp:" + hp);
		System.out.println("mp:" + mp);
	}
	
}

자식 클래스 : Wizard 클래스

public class Wizard extends Player{

	Wizard(){//기본 생성자
	}
    
	Wizard(String n){
		hp = 50;
		mp = 100;
		name = n;
	}
    
	void iceArrow() {
		mp -=20;
		System.out.println("현재 마법사의 mp는 " + mp + "입니다.");
	}
    
}

자식 클래스 : Warrior 클래스

public class Warrior extends Player{

	Warrior(){ //기본 생성자
	}
    
	Warrior(String n){	
		hp = 100;
		mp = 50;
		name = n;
	}
    
	void bash() {
		mp -=10;
		System.out.println("현재 전사의 mp는 " + mp + "입니다.");
	}
    
}

 

 

 

 

 

2022.10.06.thu / course12

'Java' 카테고리의 다른 글

TIL | Java - Overriding : 오버라이딩  (0) 2022.10.07
TIL | Java - OOP 특징 : 2.은닉  (0) 2022.10.07
TIL | Java - 기본타입 & 참조타입  (0) 2022.10.06
TIL | Java - Garbage Collecter : 가비지 컬렉터  (0) 2022.10.06
TIL | Java - Pakage : 패키지  (0) 2022.10.06
'Java' 카테고리의 다른 글
  • TIL | Java - Overriding : 오버라이딩
  • TIL | Java - OOP 특징 : 2.은닉
  • TIL | Java - 기본타입 & 참조타입
  • TIL | Java - Garbage Collecter : 가비지 컬렉터
개발 공부
개발 공부
  • 개발 공부
    개발 공부
    개발 공부
  • 전체
    오늘
    어제
    • 전체보기 (162)
      • 프로젝트 (1)
      • JavaScript (45)
      • Node.js (3)
      • Next.js (5)
      • React (17)
      • NoSQL (0)
      • HTML,CSS (3)
      • CS (6)
      • Java (35)
      • Spring (6)
        • Spring의 정석 (1)
      • Spring boot (1)
      • MySQL (1)
      • 리눅스 (16)
      • JSP (9)
      • AWS (0)
      • git (2)
      • 알고리즘 (1)
      • ect (7)
      • Project (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    자바의 정석
    오블완
    자바
    Java의 정석
    Java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
개발 공부
TIL | Java - OOP 특징 : 1.상속
상단으로

티스토리툴바