JavaStudy/Basic

[Java] 14. 상속(Intheritance)

LeeDaniel 2024. 11. 27. 11:04
 [ 상속 ] 
-객체지향에서 가장 중요한것은 재활용성인데
상속은 재활용성을 극대화시킨 프로그래밍 기법이라고 할 수 있다

상속(Intheritance)은 물려준다는 의미이며
어떤객체가 있을때 그 객체의 속성(변수)와 메소드를
다른 객체가 물려받을 수 있는 기능을 상속이라고 한다

// 사이퍼의 기본속성과 기능을 정의한 클래스
public class Cypher {
    String name; // 사이퍼 이름
    int age; // 사이퍼 나이
    String job; // 사이퍼 직업

    public Cypher() {
    }

    public Cypher(String name, int age, String job) {
        this.name = name;
        this.age = age;
        this.job = job;
        System.out.println(this.name + " 생성");
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public void move(int x, int y) {
        System.out.println(this.name + "을 x축 : " + x + ", y축 : " + y + " 좌표로 이동 시킵니다");
    }

    public void recoveryHealthPoint(int hp) {
        System.out.println(this.name + "의 체력을 " + hp + "만큼 회복 시킵니다");
    }
}

 

위에 작성된 Cypher클래스를 상속받은
카인class(CypherCain.java)를 구현해보자
상속받을때는 extends 키워드를 이용하면 되고 아래와 같이 쓰면된다

CypherCain클래스에서 extends Cypher를 작성해
Cypher클래스를 상속받은 상태이고
상속해주는 클래스를 부모클래스라고 한다

CypherCain클래스에는 정의된 변수(속성)이나 메소드(기능)이 없지만
부모로부터 받은 속성과 기능이 사용가능하므로
CypherCain cain = new Cyphercain();코드로 객체화 시킨후
Cypher클래스에 선언된 변수와 메소드를 사용할 수 있고
자식클래스인 CypherCain클래스에서도 변수와 메소드를 추가해줄수있다
실행결과
카인 스타이거
반응형

'JavaStudy > Basic' 카테고리의 다른 글

[Java] 13. 클래스와 인스턴스  (2) 2024.11.27
[Java] 12.생성자  (0) 2024.11.05
[Java] 11.입력과 출력  (0) 2024.11.05
[Java] 10.메소드(method)  (0) 2024.11.05
[Java] 9.배열  (0) 2024.11.05