[Java] 메서드

MSU·2023년 12월 13일

JAVA

목록 보기
25/28

메서드 정의

public static int add(int a, int b) {
    // 메서드 본문, 실행 코드
}
  • 제어자(Modifier): public, static과 같은 부분
  • 반환 타입(Return Type): int와 같이 반환하는 데이터의 타입을 지정해줌, 반환하지 않는 경우에는 void를 입력해줌
  • 메서드 이름(Method Name): add부분, 메서드를 호출하는 데 사용된다.
  • 매개변수(Parameter): int a, int b 부분, 메서드 내부에서 사용할 수 있게 지정해주는 입력 값을 받아오는 변수, 입력값이 필요없는 경우에는 지정하지 않아도 됨
  • 메서드 본문(Method Body): 실제 실행되는 메서드의 코드가 위치하는 부분. 중괄호{ } 사이에 코드를 작성

매개변수가 없거나 반환 타입이 없는 메서드

public static void method1() {
    System.out.println("hello world");
}

method1();

매개변수가 있고 반환 타입이 없는 메서드

public static void method2(String text) {
    System.out.println(text);
}

method2("hello world");

매개변수가 없고 반환 타입이 있는 메서드

public static String method3() {
    return "hello world";
}

String hello = method3();

매개변수가 있고 반환 타입이 있는 메서드

public static String method4(String text) {
    return text;
}

String hello = method4("hello world");

※ void 메서드는 return이 생략됨

  • void메서드를 작성할 때에는 return 생략이 가능하며, 컴파일 단계에서 자바 컴파일러가 알아서 메서드 마지막 줄에 return을 붙여준다고 한다.

※ 각각의 메서드 안에서 사용하는 변수는 서로 완전히 분리된 다른 변수이다. 이름이 같은 변수일지라도 완전히 다른 변수다.

public class MethodValue2 {
    public static void main(String[] args) {
        int number = 5;
        System.out.println("1. changeNumber 호출 전, number: "+number);

        changeNumber(number);
        System.out.println("4. changeNumber 호출 후, number: "+number);

    }

    public static void changeNumber(int number){
        System.out.println("2. changeNumber 변경 전, number: "+number);

        number = number * 2;
        System.out.println("3. changeNumber 변경 후, number: "+number);

    }
}
  • main메서드에 있는 number변수와 changeNumber메서드에 있는 number변수는 이름이 같을지라도 완전히 다른 변수다.
  • 위의 코드를 실행하면 최종적으로 main메서드의 number변수의 값은 5, changeNumber메서드의 number변수의 값은 10이 된다.



출처 : 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

profile
안드로이드공부

0개의 댓글