오버로딩(Overloading)
오버로딩이란 매개 변수가 다른 동일한 이름의 메서드가 여러개 존재하는 것을 말한다.
💡 오버로딩의 특징
매개 변수의 타입(데이터형,자료형)또는 매개 변수의 갯수가 다를때 오버로딩이 가능하다.
//1 ---> 가능
public int overloading(int x, int y) {
return x+y;
}
//2 ---> 1번과 같은 데이터 형으로 불가능
public int overloading(int a, int b) {
return a+b;
}
//3 ---> 가능
public int overloading(int x, short y) {
return x+y;
}
//4 ---> 가능
public int overloading(short x, int y) { //
return x+y;
}
//5 --->가능
public int overloading(int x, int y, int z) {
return x+y + z;
}
오버라이딩(Overriding)
부모(슈퍼) 클래스로부터 상속받은 메소드를 자식(서브) 클래스에서 사용하는 것을 말한다.
자식 클래스에서 물려받은 메소드는 재정의하거나 또는 추가하여 사용할 수 있다.
부모 클래스의 중복된 내용은 그대로 사용하고 싶다면 super 키워드와 도트(.)연산자를 사용하면된다.
// 자식 생성자
public SpecialMember(String id, String name, String address, String memberSelect) {
super(id, name, address); //부모생성자 호출
this.memberSelect = memberSelect;
}
// 부모메서드에서 사용한 show를 통해 고객 정보를 동일하게 출력 + 포인트 추가 출력
@Override
public void show() {
super.show(); // super 부모의 메서드를 호출하기 위해 사용
if(memberSelect.equals("특별")) {
printPoint();
System.out.println(memberSelect +"회원 보너스 포인터 적립 : " + point);
}
System.out.println("-----------------------");
}
💡 오버라이딩 특징
- 상속관계 (부모 클래스의 메서드를 자식 클래스에서 재정의)
- 부모메서드의 시그니처가 일치해야한다. ( 접근제어자 / 리턴형 / 이름 / 파라미터 )
- 자바의 다형성을 나타낼 수 있다.
'BackEnd > JavaProgram' 카테고리의 다른 글
[ JAVA ] 접근 지정자와 캡술화, 정보 은닉 (1) | 2023.01.30 |
---|---|
[ JAVA ] 참조 자료형 정의 및 사용해보기 (0) | 2023.01.30 |
[ JAVA ] 인스턴스 생성과 힙 메모리(heap memory) / 생성자 구현 (0) | 2023.01.29 |
[ JAVA ] 객체 지향 프로그래밍이란 ? 클래스 / 메서드 (0) | 2023.01.29 |
[자바기초 문법] 반복문 While / For (0) | 2022.12.24 |