IT/development

[Java] 추상 클래스, 추상 메소드 간단 예제

알 수 없는 사용자 2023. 12. 5.

사람이라는 부모 클래스가 있고 모든사람의 공통 기능인 걷기와 먹기는 일반 메소드로 정의

물론 걷기와 먹기도 얼마든지 사람마다 다르게 먹을 수 있지만 여기선 심플하게 설계

연봉정보는 사람마다 다르기에 추상 메소드로 만들어서 자식에서 재정의 해서 사용하도록 정의

모든 사람은 동일하게 먹고 걷지만 연봉정보는 다르다는 컨셉

AbstractPeople 😃

package abstract1;

public abstract class AbstractPeople {

    /* 연봉정보 */
    public abstract void salary(int money);

    public void walk() {
        System.out.println("걷는다.");
    }

    public void eat() {
        System.out.println("먹는다.");
    }
}

Kim 😎

package abstract1;

public class Kim extends AbstractPeople{
    @Override
    //이사람은 미국에서 근무중이라 통화가 달러
    public void salary(int money) {
        System.out.println("kim의 연봉 정보 ==> " + money + " $");
    }
}

Park 🙂

package abstract1;

public class Park extends AbstractPeople{
    @Override
    //이 사람은 한국 근무 중이라 통화가 원화
    public void salary(int money) {
        System.out.println("park의 연봉 정보 ==> " + money + " 원");
    }
}

Main 😍

package abstract1;

public class Main {
    public static void main(String[] args) {
        Kim k = new Kim();
        k.salary(100000000);
        k.walk();
        k.eat();

        System.out.println("==============================");

        Park p = new Park();
        p.salary(500000000);
        p.eat();
    }
}

결과 😊

[Java] 추상 클래스, 추상 메소드 간단 예제 - undefined - 결과 😊
결과


개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다.

틀린 점 있을 경우 댓글 부탁드립니다.

'IT > development' 카테고리의 다른 글

[IDE] IntelliJ auto import  (31) 2023.12.17
[spring] egovframework jUnit 4 template  (29) 2023.12.17
[springBoot] springBoot,java version downgrade  (68) 2023.11.27
[Java] linux jdk 환경변수 세팅  (54) 2023.10.27
[springBoot] Spring AOP simple source  (60) 2023.10.19

댓글