2013년 6월 26일 수요일

(130626) 3일차 MethodOverloadingExam.java (3일차 5교시 문제 - 메소드 오버로딩 문제)

 - 소스
class MethodOverloading{

 //정수형 전역변수를 클래스 내부에서만 접근이 가능하도록 선언
 private int a; // 접근제어자는 멤버변수에만 선언 가능 (지역변수에 선언 안됨)


 //메소드 setOverload
 //정수형 인수 1개
 //리턴 안함.
 //전역변수에 인수를 할당
 

 public void setOverload(int val){
  a = val;
 }


 //메소드 getOverload
 //정수형 인수 1개
 //정수형 리턴
 //적당한 문자열 출력
 //전역변수와 인수를 더한 값을 리턴
 

 public int getOverload(int val){
  int result = a + val;
  System.out.println("덧셈 수행");
  return result;
 }


 //메소드 getOverload
 //실수형 인수 1개
 //실수형 리턴
 //적당한 문자열 출력
 //전역변수와 인수를 곱한 값을 리턴
 

 public double getOverload(double val){
  double result = (double)a * val;
  System.out.println("곱셈 수행");
  return result;
 }


 //메소드 getOverload
 //정수형 인수 1개, 실수형 인수 1개
 //리턴 안함.
 //인수 두개를 출력
 

 public void getOverload(int val1, double val2){
  System.out.println(val1 +", " +val2);
 }
}


public class MethodOverloadingExam{
 //메인 메소드에서
 //MethodOverloading객체 생성
 

 public static void main(String args[]) {
  MethodOverloading mod = new MethodOverloading();


  //적당한 정수값 1개를 인수로 주며 MethodOverloading객체의 setOverload메소드 호출   
  mod.setOverload(10); // 전역변수  a에 10저장

 //적당한 정수값 1개를 인수로 주며 MethodOverloading객체의 getOverload메소드를 호출하고 리턴하는 값을 정수형 지역변수에 저장  
  int a = mod.getOverload(20);

 //적당한 실수값 1개를 인수로 주며 MethodOverloading객체의 getOverload메소드를 호출하고 리턴하는 값을 실수형 지역변수에 저장  

  double b = mod.getOverload(20.5);

 //적당한 정수값 1개와 실수값 1개를 인수로 주며 //MethodOverloading객체의 getOverload메소드를 호출  

  mod.getOverload(5, 19.5);

 //정수형 지역변수와 실수형 지역변수를 출력
  System.out.println("정수형 지역변수 :" +a);
  System.out.println("실수형 지역변수 :" +b);
 }
}



 - 결과