Patrick's 데이터 세상

method 메소드 본문

Programming/Java

method 메소드

patrick610 2020. 6. 23. 00:24
반응형
SMALL

■ main 메소드

public static void main(String[] args)
{
	int num1=5, num2=7;
    System.out.println("5+7="+(num1+num2));
}

Java는 객체지향 언어입니다.
위 메소드의 이름은 main이고, 중괄호 내에 존재하는 문장들이 위에서 아래로 순차적으로 실행됩니다.


■ 메소드

class MethodDefAdd
{
	public static void main(String[] args)
    {
    	System.out.println("프로그램의 시작");
        hiEveryone(12);
        hiEveryone(13);
        System.out.println("프로그램의 끝");
    }
    
    public static void hiEveryone(int age)
    {
    	System.out.println("좋은 아침입니다.");
        System.out.println("제 나이는 "+age+"세 입니다.");
    }
}

· 실행결과

프로그램의 시작
좋은 아침입니다.
제 나이는 12세 입니다.
좋은 아침입니다.
제 나이는 13세 입니다.
프로그램의 끝

hiEveryone(12);를 만나면 public static void hiEveryone(int age)에 int age=12로 메소드가 실행됩니다.
메소드 호출 문을 접하면, 해당 메소드의 실행이 완료된 다음에 비로소 그다음을 실행하게 됩니다.

 ˙ 메소드는 한번 정의되면 여러 번 실행이 가능합니다.

메소드의 이름 오른편에 정의되는 변수를 가리켜 '매개변수(parameter)'라고 합니다.
메소드 호출 시 전달되는 값의 저장을 위한 용도로 사용되므로, 메소드 호출 시 전달되는 값의 자료형과 매개변수의 자료형은 항상 일치해야 합니다.
또한, 메소드가 정의되는 위치는 프로그램에 영향을 미치지 않습니다.


■ 값을 반환하는 메소드

class MethodReturns
{
	public static void main(String[] args)
    {
    	int result=adder(4, 5);
        System.out.println("4와 5의 합 : "+result);
        System.out.println("3.5의 제곱 : "+square(3.5));
    }
    
    public static int adder(int num1, int num2)
    {
    	int addResult=num1+num2;
        return addResult;
    }
    
    public static double square(double num)
    {
    	return num*num;
    }
}

· 실행결과

4와 5의 합 : 9
3.5의 제곱 : 12.25

void의 의미는 해당 메소드가 값을 반환하지(메소드를 호출한 영역으로 값을 전달하지) 않는다는 의미를 갖습니다.

위 메소드에서 public static int adder(int num1, int num2)는 int형 데이터를 반환하고
public static double square(double num)는 double형 데이터를 반환한다는 의미를 갖습니다.

adder 메소드에서 중괄호 내부에 존재하는 return이라는 키워드는 값의 반환을 명령하는 키워드로써 addResult에 저장되어 있는 값을 반환한다는 의미를 갖습니다.
따라서,  int result=adder(4, 5);는 4와 5가 더해지는 adder 메소드의 반환 값 9를 가지게 됩니다.

값의 반환은 메소드의 호출문장이, 반환된 값으로 대체됨을 의미합니다.


■ 값을 반환하는 메소드

return은 두 가지 의미를 담고 있습니다.

 ˙ 값의 반환
 ˙ 메소드의 종료

반환의 대상이 없이 키워드 return으로만 구성되어있는 경우는
'값을 반환하지 않고, 단순히 이 메소드를 빠져나가겠습니다.'
라는 의미를 갖습니다.

반응형
LIST

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

클래스, 인스턴스  (0) 2020.06.23
메소드의 재귀호출  (0) 2020.06.23
continue & break  (0) 2020.06.23
for, while 그리고 do~while  (0) 2020.06.21
switch, break  (0) 2020.06.21
Comments