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 |