gwooden_코린이

java_오버로딩_221125(5일차) 본문

java/5일차

java_오버로딩_221125(5일차)

gwooden22 2022. 11. 25. 11:49
728x90

오버로딩 - 뚝같은 내용을 가진 메서드를 여러개 만들 수 있다.

 

여기서 add라는 메서드를 가지고 매개변수만 정수형인지 실수형인지 두가지 경우로 만들어서 Main 클래스에서 결과값을 도출하게 되면 Main에서 변수값정수면 int num1 + num2로 리턴될 거고 반대로 실수이면 double num1 + num2로 리턴되서 값이 출력된다.

 

        public int add(int num1, int num2) {

              

               System.out.println("정수들의 합계");

              

               return num1 + num2;

              

        }

 

 

/* ex)

     * (위와 동일하게 작동할때)

     * (매개변수를 바꿔야 동일한 매개변수가 2 이상이면 실행 오류)

       (아래서 매개변수 int 2개 중 하나를 double로 변경하거나 등등)

 

        public int add(int num1, int num2) {

              

               System.out.println("다른작업을 수행함");

              

               return num1 * num2;

              

        }

        */

 

       

        public double add(double num1, double num2) {

              

               System.out.println("실수들의 합계");

              

               return num1 + num2;

        }


 

package 오버로딩;

 

public class Main {

 

        public static void main(String[] args) {

              

               Calc calc = new Calc();

              

               System.out.println(calc.add(5, 10));

               System.out.println(calc.add(5.1, 10.5644));

               System.out.println(calc.add("abc", "가나다"));

              

 

        }

 

}

 

※결과값

정수들의 합계
15
실수들의 합계
15.664399999999999
문자들의 합계
abc가나다



package 오버로딩;

 

public class Calc {

       

        public int add(int num1, int num2) {

              

               System.out.println("정수들의 합계");

              

               return num1 + num2;

              

        }

       

        public double add(double num1, double num2) {

              

               System.out.println("실수들의 합계");

              

               return num1 + num2;

        }

 

 

       public String add(String num1, String num2) {

              

               System.out.println("문자들의 합계");

              

               return num1 + num2;

        }

 

}


package 오버로딩;

 

public class Main {

 

        public static void main(String[] args) {

              

               Calc calc = new Calc();

              

               calc.showInfo();

               System.out.println(calc.add(5, 10));

              

               calc.showInfo();

               System.out.println(calc.add(5.1, 10.5644));

              

               calc.showInfo();

               System.out.println(calc.add("abc", "가나다"));

              

 

        }

 

}

※결과값

오버로딩 연습중
정수들의 합계
15
오버로딩 연습중
실수들의 합계
15.664399999999999
오버로딩 연습중
문자들의 합계
abc가나다

package 오버로딩;

 

public class Calc {

       

        public void showInfo() {

               System.out.println("오버로딩 연습중");

        }

       

        public String add(String num1, String num2) {

 

              //메서드 안에도 메서드를 넣을 수 있다.

                showInfo(); <-- Calc 클래스에서는 객체를 안 적어도 실행

              //그리고 String add 매서드를 여러개 출력하면 자동으로 위에 showInf();가 붙어서 따라온다

              

 

              

               System.out.println("문자들의 합계");

              

               return num1 + num2;

        }

       

       

               public int add(int num1, int num2) {

              

               System.out.println("정수들의 합계");

              

               return num1 + num2;

        }

              

              

              

        public double add(double num1, double num2) {

              

               System.out.println("실수들의 합계");

              

               return num1 + num2;

        }

 

}


 

728x90

'java > 5일차' 카테고리의 다른 글

java_접근제한자_221125(5일차)  (0) 2022.11.25
java_생성자_221125(5일차)  (0) 2022.11.25
java_재귀호출_221125(5일차)  (0) 2022.11.25
java_클래스02_221125(5일차)  (0) 2022.11.25
java_클래스_221125(5일차)  (0) 2022.11.25
Comments