메서드의 오버로딩(Overloading)

강9·2023년 11월 27일
0

Java

목록 보기
38/71
post-thumbnail

🔖 메서드의 오버로딩(Overloading)

하나의 클래스 내에서 동일한 이름의 메서드를 여러 개 사용할 수 있는 객체지향 기법

  • 동작이 비슷하기 때문에 메서드 이름이 같게 만들어 사용하면 편리하다.(편리성)

🔖 오버로딩의 전제조건

  • 메서드의 시그니처(signature)가 달라야 한다.
  • 매개변수의 개수, 매개변수의 타입

🔖 정적 바인딩

컴파일 시점에서 사용될(호출될) 메서드가 결정(연결)되는 바인딩

  • 컴파일러가 컴파일 시점에 자동으로 메서드명을 변경 해놓는 개념 *(_)
    💡실행속도에 영향이 없다.
// 컴파일 전
public int add(int a, int b) {
	int sum = a+b;
	return sum;
}

public float add(float a, float b) {
	float sum = a+b;
	return sum;
}
// 컴파일 후
public int add_int_int(int a, int b) {
	int sum = a+b;
	return sum;
}

public float add_float_float(float a, float b) {
	float sum = a+b;
	return sum;
}

예제)

        ↗️정수형        ↗️매개변수 a,b
public int add(int a, int b) {
  int sum = a+b;
  return sum;
}

        ↗️정수형        ↗️매개변수 a,b,c
public int add(int a, int b, int c) {
  int sum = a+b+c;
  return sum;
}

        ↗️실수형        ↗️매개변수 a,b
public float add(float a, float b) {
  float sum = a+b;
  return sum;
}
profile
코린이 일기

0개의 댓글