프로그래밍/java

[자바JAVA] 메소드(method) _ 전달인자와 매개변수를 이용한 호출

pupu91 2022. 7. 2. 17:00
반응형

 

 


메소드(method)

 


  •  특정 작업을 수행하기 위한 명령문의 집합
  • 메소드는 다른 메소드를 호출 가능(메소드를 호출한 곳으로 돌아옴)
public class Application1 {
    public static void main(String[] args) {
      System.out.println("main()시작됨");
    
     ● 객체 생성 : 클래스명 사용할이름 = new 클래스명(); 
     ● 메소드 호출 : 사용할 이름. 메소드명();
      
       Applicaiton1 app1 = new Application1();
       app.methodA();
       System.out.println("main() 종료됨");
    }
    
    public void methodA(){
       System.out.println("mathodA() 호출함")  ;
    }
 }

 ● 실행 결과
main() 시작됨
methodA() 호출함
main() 종료됨

 

 

 


전달인자와 매개변수를 이용한 메소드 호출

 


 

  •  메소드 실행 시 어떠한 값을 미리 주고(전달인자)그 값을 활용(매개변수)해서 메소드를 수행 가능
  •  지역변수는 선언한 메소드 블럭 내부에서만 사용이 가능함 (지역변수의 스코프)
  •  다른 메소드와 공유해야하는 값이 존재하는 경우 메소드 호출 시 '( )'를 이용해서 값을 전달 할 수 있음

 

 

1 .  전달 인자로 값 전달 테스트

  • 호출하려는 메소드의 매개변수 선언부에 미리 선언해둔 자료형과 갯수, 순서가 일치하게 값을 넣어 호출해야 함.
public class Application3 {
   public static void main(String[] args) {
      Application3 app3 = new Application3();
                   
       app.testMethod(20 전달인자);  
             (x)app3.testMethod("30"); 매개변수와 같은 자료형으로 호출해야함.
	     (x)app3.testMethod(20, 30, 40); 매개변수와 같은 갯수여야함.
	     (x)app3.testMethod(); 값이 없어도 오류		
     
 }                               
	public void testMethod(int age 매개변수) {
		System.out.println("당신의 나이는 " + age + "세 입니다.");
	}

 ● 실행 결과
당신의 나이는 20세 입니다.

 

 

 

2 . 변수에 저장한 값 전달 테스트

 

public class Application3 {
   public static void main(String[] args) {
       Application3 app3 = new Application3();
    ● 변수에 저장 된 값을 이용하여 호출 
      int age = 90;
      app3.testMethod(age);
     ● 자동 형변환을 이용하여 호출 
      byte byteAge = 10;
      app3.testMethod(byteAge);
     ● 강제 형변환을 이용하여 호출(데이터 손실 주의)
      long longAge = 30;
      app3.testMethod((int)longAge);
     ● 연산 결과를 이용하여 호출
       int age1 = 5;
       app3.testMethod(age*3);
   }	
	public void testMethod(int age) {
		System.out.println("당신의 나이는 " + age + "세 입니다.");
   }
 }
 
 ● 실행 결과
당신의 나이는 90세 입니다.
당신의 나이는 10세 입니다.
당신의 나이는 30세 입니다.
당신의 나이는 15세 입니다.

 

 

 

3 . 여러 개의 전달인자와 매개변수를 이용한 메소드 호출

  • 매개변수의 개수나 자료형의 제한은 없으며 상수도 사용 가능함.
public class Application4 {
   public static void main(String[] args) {
     Appliication4 app4 = new Application4();
     ● 여러 개의 전달 인자를 이용한 메소드 호출
     app4.testMethod("박보검", 30, '남'); 
     ● 변수에 저장 된 값을 전달하여 호출
     String name = "아이유";
	 int age = 20;
	 har gender = '여';
	 pp4.testMethod(name, age, gender);   
  } 
   public void testMethod(String name, int age, final char gender) {
   	System.out.println("당신의 이름은 " + name + "이고, 나이는 " 
    + age +"세 이며, 성별은 " + gender + "입니다.");	
  }
 ● 실행 결과
  당신의 이름은 박보검이고, 나이는 30세 이며, 성별은 남입니다.
  당신의 이름은 아이유이고, 나이는 20세 이며, 성별은 여입니다.

 

반응형