- 오버로딩(overloading) : 기존에 없는 새로운 매서드를 정의하는 것
- 오버라이딩(overriding) : 상속받은 메서드의 내용을 변경하는 것
출처: https://all-record.tistory.com/60 [세상의 모든 기록]
오버로딩(overloading)
//Overloading.java
class Overloading
{
void overloadinTest()
{
System.out.println("매개변수 아무것도 안넣음");
}
void overloadinTest(int a, int b)
{
System.out.println("정수 매개변수 : " + a + ", " + b);
}
void overloadinTest(double a)
{
System.out.println("실수 매개변수 : " + a);
}
void overloadinTest(String a)
{
System.out.println("문자형 매개변수 : " + a);
}
}
//OverLoadingJava.java
public class OverLoadingJava
{
public static void main(String[] args)
{
Overloading overloading = new Overloading();
overloading.overloadinTest(); //매개변수 아무것도 없음
overloading.overloadinTest(10, 20); //정수 매개변수 2개
overloading.overloadinTest("Test"); //문자형 매개변수
overloading.overloadinTest(50); //실수형 매개변수
}
}
java OverLoadingJava
매개변수 아무것도 안넣음
정수 매개변수 : 10, 20
문자형 매개변수 : Test
실수 매개변수 : 50.0
오버라이딩(overriding)
//Overriding.java
public abstract class Overriding
{
public void myTest()
{
System.out.println("Overriding class");
}
public abstract String absFunc(); //추상 함수
}
//FirstChildClass.java
public class FirstChildClass extends Overriding
{
private String iam = "I am FirstChildClass!";
public void myTest() //오버라이딩
{
System.out.println("FirstChildClass class");
}
public String absFunc() //오버라이딩
{
return iam;
}
}
//SecondChildClass.java
public class SecondChildClass extends Overriding
{
private String im = "I am SecondChildClass";
public void myTest() //오버라이딩
{
System.out.println("SecondChildClass class");
}
public String absFunc() //오버라이딩
{
return im;
}
}
//OverridingJava.java
public class OverridingJava
{
public static void main(String[] args)
{
Overriding[] overriding = new Overriding[2]; //자식 클래스 2개 입력
FirstChildClass firstChildClass = new FirstChildClass();
SecondChildClass secondChildClass = new SecondChildClass();
overriding[0] = firstChildClass;
overriding[1] = secondChildClass;
for(Overriding over : overriding) //배열 출력
{
over.myTest();
System.out.println(over.absFunc());
}
}
}
javac Overriding.java
javac FirstChildClass.java
javac SecondChildClass.java
javac OverridingJava.java
java OverridingJava
FirstChildClass class
I am FirstChildClass!
SecondChildClass class
I am SecondChildClass
출처
https://private.tistory.com/25
https://gmlwjd9405.github.io/2018/08/09/java-overloading-vs-overriding.html
'Java' 카테고리의 다른 글
java 클래스 구현, 상속, 자동차 예제 (0) | 2021.10.21 |
---|---|
java 상속 관계 구조 구현(학생 예제) (0) | 2021.10.21 |