(Java programming) 메소드

soosoorim·2024년 2월 15일
0

메소드 (=함수 / 재사용성이 높아 효율적으로 관리해주는 것)

  • 메소드는 1가지 일만 한다.
  • 기능 범위는 관련된 코드로 지정한다.
  • 메소드란 하나의 기능을 하는 코드의 묶음단위
    -- 메소드가 하는 일에 따라 파라미터(인자)가 필요할 수도 있다.
    -- 또한, 처리 결과를 반환 하거나 하지 않을 수도 있다.

  • 동일한 기능의 코드가 여러 번 중복되어 있을 경우,
    해당 코드를 수행하는 기능을 한 번만 만들어두면 편리하다.

public class App {
	// add 메소드 정의
    public static void add() {
    	// add 메소드가 하는 일
        System.out.println(1 + 3);
    }
    public static void main(String[] args) {
        //System.out.println( 1 + 3 );
        add(); // add 호출(실행)
        add(); // add 호출(실행)
        add(); // add 호출(실행)
        add(); // add 호출(실행)
    }
}

이렇게 기능단위로 코드를 분리해 두는 것을 “메소드” 라고 한다.

위에는 메소드를 정의한것 (나 이런거 쓸거야)
밑에는 메소드를 호출하는 것

메소드 정의 규칙

  • 한글로 되어있는 형태 다 외우기
  • 새 클래스 열 때 시작하는 코드랑 같음
“안녕하세요?” 만 출력하는 메소드 만들고 여러 번 호출해보기

public class App {
    public static void sayHello() {
        System.out.println("안녕하세요?");
    }
    public static void main(String[] args) {
        sayHello();
        sayHello();
        sayHello();
    }
}
1 + 1만 계산하는 메소드를 만들고 여러 번 호출(실행)해보기

public class App {
    public static void printAddResult() {
        System.out.println(1 + 1);
    }
    public static void main(String[] args) {
        printAddResult();
        printAddResult();
        printAddResult();
    }
}

메소드 실행에 필요한 데이터(파라미터)가 있을 경우,
메소드를 호출(실행)할 때 데이터를 반드시 전달해야 한다.

public class App {
    public static void printHello(String name) {
        System.out.println(name + "씨, 안녕하세요?");
    }
    public static void main(String[] args) {
        printHello("스타크"); // String name에 "스타크" 할당
        printHello("헐크"); // String name에 "헐크" 할당
        printHello("그루트"); // String name에 "그루트" 할당
    }
}

반환하는 메소드 return
메소드 반환은 메소드를 호출(실행)한 라인에 결과를 돌려준다는 의미
Method Return : Method가 처리한 결과를 반환
값이 반환되면 호출자에게 할당된다.

  • 메소드의 반환타입이 void 일 경우
    아무것도 반환하지 않는 메소드가 한다.

  • 반환타입이 int인 경우
    정수형(int)을 반환하는 메소드가 되며, return 이라는 키워드가 메소드 가장 마지막에 작성되어야 한다.

  • 반환타입이 double인 경우
    부동소수점형(double)을 반환하는 메소드가 되며, return이라는 키워드가 메소드 가장 마지막에 작성되어야 한다.

  • 즉, 반환타입이 void가 아닌 경우
    항상 작성된 자료형으로 반환하는 메소드가 되며 반드시 return 키워드가 메소드 가장 마지막에 작성 되어야 한다.

예 >

public class App {
    
    public static int getMultiply(int num, int time) {
        return num * time;
    }
    public static void main(String[] args) {
        getMultiply(10, 4);
    }
}


// 위 코드에서 getMultiply(10, 4); 영역이 메소드를 호출하므로
// return num * time; 영역에서 반환하는 값은 
// getMultiply(10, 4); 영역으로 40이라는 데이터를 반환하게 된다.
public class App {
    
    public static int getMultiply(int num, int time) {
        return num * time;
    }
    public static void main(String[] args) {
        int result = getMultiply(10, 4);
        System.out.println(result);
    }
}

// 즉, getMultiply(10, 4)의 값을 알고 싶다면
// int result = 영역처럼 값을 할당 받는 코드가 반드시 필요하다.

=> 메소드는 하나의 값만 반환시킬 수 있다.

0개의 댓글

관련 채용 정보