minlog
article thumbnail

 

오버로딩(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("-----------------------");
}

 

 

💡 오버라이딩 특징

  • 상속관계 (부모 클래스의 메서드를 자식 클래스에서 재정의)
  • 부모메서드의 시그니처가 일치해야한다. ( 접근제어자 / 리턴형 / 이름 / 파라미터 )
  • 자바의 다형성을 나타낼 수 있다.

 

 

 

 

 

 

 

profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!