본문 바로가기
java

상속클래스 의 오버로딩

by improve 2024. 1. 23.
package org.example;
class SuperCls{
    public  void doA(){
        System.out.println("SuperCls doA");
    }
}
class SubCls extends  SuperCls{
    // 오버로딩 매개변수가 다른 함수명이 동일해도 된다.

    public void doA(){
        System.out.println("SubCls doA");
    }
}
public class Main2 {
    public static void main(String[] args) {
        SuperCls sc = new SuperCls();
        sc.doA();

        SubCls subCls = new SubCls();
        subCls.doA();
    }
}

 

오버로딩은 매개변수가 다르고 함수명이 같아도 실행이 가능하다.

 

 

 

/*
* 기본 생성자 생략가능 하지만 다른 생성자 생성하면 기본생성자 생략 불가
* suepr() 생략가능
* toString() 생략가능
* */


package org.example;

class MobilePhone{
    protected String number;

    //public MobilePhone(){}
    // 다른 생성자 선언시 기본생성자 생략 불가
    public MobilePhone(String number) {
        this.number = number;
    }

    public void answer(){
        System.out.println("번호는 "+number);
    }
}

class SmartPhone extends MobilePhone{
    private String androidVer;
    public SmartPhone(String number, String ver) {
        super(number);
        this.androidVer = ver;
    }

    public void playApp(){
        System.out.println("앱실행함 안드로이드 버전은"+androidVer);
    }
}
public class Main3 {
    public static void main(String[] args) {
        SmartPhone sp = new SmartPhone("010-1234-4567","1.0");
        sp.playApp();
        sp.answer();
    }

}

 

 

 

 

 

'java' 카테고리의 다른 글

인터페이스  (0) 2024.01.25
상속클래스의 매소드 오버로드  (0) 2024.01.23
상속 클래스  (0) 2024.01.22
메소드 오버로딩  (0) 2024.01.19
private 함수 (정보 은닉)  (0) 2024.01.18