overloading ?
이름이 같은 메서드지만, 매개 변수 ( arguments ) 의 유형과 개수를 다르게 하여 다양한 유형의 메서드를 만드는 것을 overloading 한다라고 한다.
public class OverloadingClass {
void method () {
System.out.println("매개변수 없음");
}
void method (int a, int b) {
System.out.printf("매개변수 %d %d 있음\n", a , b);
}
void method (double d) {
System.out.println("매개변수 " + d);
}
public static void main(String[] args) {
OverloadingClass overload = new OverloadingClass();
overload.method(); //매개변수 없음
overload.method(1,2); // 매개변수 1 2 있음
overload.method(3.3); // 매개변수3.3
}
}
overriding ?
상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의 해서 사용한다.
// SuperClass.java
public class SuperClass {
public String name;
public int age;
public void print() {
System.out.println("사원의 이름은 " + this.name + "이고, 나이는" + this.age + "입니다.");
}
}
// SubClass.java
public class SubClass extends SuperClass {
String jobOfManager;
// 오버라이딩 해준다.
public void print() {
super.print();
System.out.println("관리자 : " + jobOfManager); // 추가해준 부분 ( 재정의 )
}
}
// ClassTest.java
public class ClassTest {
public static void main (String[] args) {
SubClass lee = new SubClass();
lee.name = "김길동";
lee.age = 25;
lee.jobOfManager = "홍길동";
lee.print(); // 사원의 이름은 김길동이고, 나이는25입니다.
// 관리자 : 김길동
}
}
'java' 카테고리의 다른 글
java 예외 처리 (0) | 2021.01.20 |
---|---|
제어자? (0) | 2021.01.20 |
자바 메모리 관리 ? (0) | 2021.01.19 |
4주차 제어문 (0) | 2021.01.12 |
3주차 과제 연산자 (0) | 2021.01.12 |