YSHUSH

Overload 본문

Coding/Java

Overload

코딩; 2021. 12. 14. 01:43

 

˙ Over Load : 함수 명은 같고 매개변수(parameter)의 자료형이나 갯수가 다른 것을 의미.
                              쉽게 말하면 '동명이인'

 

예)
paint() : image drawing
paint(int x, int y)
paint(int z)
paint(char c) 
paint(char c, int i)
void paint(int i, char c)

 

적용X의 예)
void paint(int n, char ch) X
int paint(int i, char c) X

 

 

public class MainClass {

	public static void main(String[] args) {     
     
     	  method();

          method('A');

          method(10);

          method('B', 12);

          method(14, 'C');

          int sum = sumProc(90, 95, 100, 75, 80);
          System.out.println(sum);

          sum = sumProc(10, 20, 30);
          System.out.println(sum);

          sumProc("성춘향", 100, 90, 85);
      }

      static void method() {
          System.out.println("method()");
      }

      static void method(char c) {
          System.out.println("method(char c)");
      }

      static void method(int i) {
          System.out.println("method(int i)");
      }

      static void method(char c, int i) {
          System.out.println("method(char c, int i)");
      }

      static void method(int i, char c) {
          System.out.println("method(int i, char c)");
      }
      /*
      static void method(int n, char ch) {
          System.out.println("method(int n, char ch)");
      }
      */
      /*
      static int method(int i, char c) {
          System.out.println("method(int i, char c)");
          return 1;		
      }
      */

      // 가변인수 => 배열을 쓰므로 많이 쓸일은 없으나 유동변수를 자유롭게 쓸 수 있어서 좋음.
      static int sumProc(int...num) {
          int sum = 0;

          for (int i = 0; i < num.length; i++) {
              sum = sum + num[i];
          }
          return sum;
      }

      static void sumProc(String name, int...num) {	// int...num = 가변인수로 파라미터의 맨 앞에 쓰면 오류!
          int sum = 0;
          for (int i = 0; i < num.length; i++) {
              sum = sum + num[i];			
          }
          System.out.println(name + "님의 합계는 " + sum + "입니다");
      }
      /*
      static void sumProc1(int...num, String name) {

      }
      */

  }

'Coding > Java' 카테고리의 다른 글

File I/O  (0) 2021.12.14
Exception  (0) 2021.12.14
Method1  (0) 2021.12.12
문자 판별기  (0) 2021.12.09
String  (0) 2021.12.09