JAVA 메서드 오버로딩

2024. 7. 2. 12:25·JAVA

메서드 오버로딩이란? 

하나의 클래스 안에 메서드 시그니쳐가 다르다면 같은 함수명을 사용해도 이를 허용한다는 뜻이다.

( => 함수명 중복정의 허용★)

보통 비슷하거나 같은 기능일때에 사용된다.

 


메서드 오버로딩의 장점

  • 코드의 중복을 줄일 수 있다.
  • 코드의 가독성을 높여준다.
  • 프로그램의 유지보수가 용이해진다.

메서드 오버로딩의 단점

  • 메서드의 개수 많아질수록 코드가 복잡해질 수 있다.
  • 오버로딩된 개수가 많아질수록, 컴파일러가 적절한 메서드를 찾기 위해 처리시간이 추가적으로 필요할 수 있다.

아래는 오버로딩의 예시이다.

public class Test01 {

	public static int plus(int a, int b) { // 정수 2개를 입력받은경우
		System.out.println("1"); // 로그
		return a+b;
	}
	public static int plus(int a, int b, int c) { // 정수 3개를 입력받은경우
		System.out.println("2");
		return a+b+c;
	}
	public static double plus(double a, double b) { // 실수 2개를 입력받은경우
		System.out.println("3");
		return a+b;
	}
	public static double plus(double a, double b, double c) { // 실수 3개를 입력받은경우
		System.out.println("4");
		return a+b+c;
	}

	public static void main(String[] args) {

		int num1 = 10;
		int num2 = 20;
		int num3 = 30;

		int result = plus(num1, num2, num3);
		int result2 = plus(num1, num2);

	}

}

 

위 코드에는 plus 메서드가 4개나 정의되어있는데, 위 4개의 plus메서드의 매개변수의 개수 또는 타입이 모두 다르다.

내가 원하는대로 매개변수의 개수랑 타입을 정의내린 메서드 내에서 입력하면, JAVA는 알아서 그에 맞춰서 구현해준다.

'JAVA' 카테고리의 다른 글

JAVA 오버로딩 실습  (0) 2024.07.02
JAVA - static, final 키워드  (0) 2024.07.02
객체지향 vs 절차지향 , 생성자에 대해서  (0) 2024.07.01
JAVA 함수를 이용해서 학생부 프로그램 만들기  (0) 2024.07.01
JAVA 함수  (0) 2024.06.28
'JAVA' 카테고리의 다른 글
  • JAVA 오버로딩 실습
  • JAVA - static, final 키워드
  • 객체지향 vs 절차지향 , 생성자에 대해서
  • JAVA 함수를 이용해서 학생부 프로그램 만들기
yn98
yn98
좌우명 : 여전할 것 인가, 역전할 것 인가? 백엔드 개발자가 되고싶은 역전하고 있는 개발자 꿈나무의 블로그입니다. 개발을 하면서 공부한 것들을 기록합니다. 24.06 ~
  • yn98
    개발 꿈나무
    yn98
  • 전체
    오늘
    어제
    • 분류 전체보기 (131)
      • Python (3)
      • 공부 (7)
      • DB (7)
      • JAVA (24)
      • JSP (9)
      • jQuery (2)
      • HTML (3)
      • Spring (20)
      • 웹 (4)
      • C (1)
      • Git (2)
      • 에러일기 (19)
      • 프로젝트 (6)
      • 책 (21)
        • 멘토씨리즈 자바 (14)
        • 2024 수제비 정보처리기사 (7)
      • 기타 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
    • Notion
  • 공지사항

  • 인기 글

  • 태그

    2-layered 아키텍처
    정처기 실기
    MVC
    생성자
    티스토리챌린지
    상속
    오버로딩
    recoverabledataaccessexception
    html
    어노테이션
    DispatcherServlet
    정처기
    @repository
    aop
    Di
    객체지향
    수제비
    jsp
    ViewResolver
    @service
    Spring
    정보처리기사 실기
    오블완
    정보처리기사
    codeup 4891 : 행복
    @Component
    스프링 프레임워크
    java
    이벤트 스케줄러
    멘토씨리즈 자바
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
yn98
JAVA 메서드 오버로딩
상단으로

티스토리툴바