Overloading ( 오버로딩 )

양혜정·2024년 2월 9일
0

Begin_java

목록 보기
55/71

Overloading 오버로딩

  • 동일한 메소드명을 사용하고 싶을 경우 => 오버로딩
    => 이름은 같지만 파라미터가 다르면 동일한 메소드로 취급 X

주의!
오버로딩은 상속과 관련 X
메소드의 접근제한자와 리턴타입을 다르게 주어도 중복 !
생성자 내에 다른 생성자를 사용할 경우, 생성자 먼저 사용 !


- Overloading 방법

  1. 파라미터를 추가하여 작성

  2. 파라미터 타입을 다르게하여 작성

  3. 파라미터의 타입과 개수를 동일하게 사용하고 싶을 때, 파라미터의 위치를 바꾸어 작성
    (단, 동일한 타입의 위치를 바꾸는 것은 안된다.)


Ex) 메소드의 오버로딩

// Parent 부모 클래스
protected String info(){
	return id + "," + passwd;
}	// end of protected String info()---------

// Child 자식 클래스
// 방법 1. 파라미터 추가하여 작성
public void info(int n){}
// 방법 2. 파라미터 타입을 다르게하여 작성
public void info(String str){}
// 방법 3. 파라미터의 위치를 바꾸어 작성
public void info(int n, String str){}
public void info(String str, int n){}

//========================================================//
// 주의 1. 접근제한자를 다르게 준 경우 
public void info(){}	=> 오류
// 주의 2. 리턴타입을 다르게 준 경우
public String info(){}	=> 오류

Ex) 생성자의 오버로딩

// 상속과 관련없기 때문에 부모클래스, 자식클래스 상관 X
public Child(){}
// 방법 1. 파라미터 추가하여 작성
public Child(String id, String passwd){}
// 방법 2. 파라미터 타입을 다르게하여 작성
public void info(int id, String passwd){}
// 방법 3. 파라미터의 위치를 바꾸어 작성
public void info(String passwd, int id){}

//========================================================//
// 주의 1. 생성자 내 다른 생성자를 사용할 경우, 생성자 먼저 사용!
// Ex) 다른 생성자 : this(id,passwd);
public Child(String id, String passwd, String name){
	this(id, passwd);		// 생성자 먼저 위치
	this.name = name;
}

정리

my.day.15.b.overloading -> Parent, Child, Main

0개의 댓글

관련 채용 정보