java
상속클래스 의 오버로딩
improve
2024. 1. 23. 11:11
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();
}
}