의견.png

"오버로딩"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
(특징)
2번째 줄: 2번째 줄:
  
 
== 특징 ==
 
== 특징 ==
 +
* 같은 이름의 메소드를 2개 이상 한 클래스 내에 정의하는것이다.
 +
*
  
 
== 구조 ==
 
== 구조 ==

2020년 8월 5일 (수) 16:17 판

오버로딩(Overloading)이란 하나의 클래스(Class)에 같은 이름을 가진 메소드(Method)를 중복으로 선언하는것을 의미한다.

특징

  • 같은 이름의 메소드를 2개 이상 한 클래스 내에 정의하는것이다.

구조

하나의 클래스 안에 같은 이름을 가지고 있는 메소드를 여러개 정의한다. 매개변수의 개수나 유형을 다르게 하여 같은 이름의 메소드들이 다른 결과값을 출력할 수 있게 한다.[1]

public class 클래스이름 {
   // A메소드 호출
   void A메소드() {
       System.out.println("매개 변수값 = 없음");
   }
   // A메소드에 매개변수a로 int형 호출
   void A메소드(int a) {
       System.out.println("매개 변수값 = " + a);
   }
   // A메소드에 매개변수a로 char형 호출
   void A메소드(char a) {
       System.out.println("매개 변수값 = " + a);
   }
}

활용

// 오버로딩하기 위한 클래스 생성
public class Overloading {
   // test() 호출
   void test() {
       System.out.println("매개변수 = 없음");
   }
   // test에 매개변수a로 int형 호출
   void test(int a) {
       System.out.println("매개변수 = " + a);
   }
   // test에 매개변수a,b로 int형 2개 호출
   void test(int a, int b) {
       System.out.println("매개변수 = " + a + "," + b);
   }
   // test에 매개변수a로 char형 호출
   void test(char a) {
       System.out.println("매개변수 = " + a);
   }
}
// 위의 생성된 클래스 사용
public class test {
   public static void main(String[] args) {
       // 객체 생성
       Overloading ol = new Overloading();
       // test() 호출 -> 출력 : 매개변수 = 없음
       ol.test();
       // test(int a, int b) 호출 -> 출력 : 매개변수 = 5 , 10
       ol.test(5, 10);
       // test(char a) 호출 -> 출력 : 매개변수 = x
       ol.test(x);
   }
}

각주

  1. 개발이 하고 싶어요, 〈[[JAVA] 오버로딩(Overloading) 오버라이딩(Overriding)]〉, 《개인블로그》, 2013-12-08

참고자료

같이 보기


  의견.png 이 오버로딩 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.