'
본문 바로가기
study/Programming

[JAVA 기초] 메소드란?

by meowdule 2025. 4. 16.

 

1. 메소드 정의


📌 메소드(Method)

프로그램에서 어떤 작업을 수행하도록 정의된 코드의 묶음입니다.
쉽게 말해, 기능을 담은 블록입니다.
예를 들어 "출력하기", "계산하기", "값을 반환하기" 등
특정 작업을 수행하는 코드를 따로 분리해 메소드로 만들 수 있습니다.

 

 

 

 

 

2. 메소드 사용 이유

 

 

  • 중복 제거: 같은 동작을 여러 번 쓸 필요 없이 한 번만 정의해서 재사용할 수 있습니다.
  • 유지보수 용이: 코드가 잘게 나뉘어 있으므로 수정이 쉬워집니다.
  • 가독성 향상: 이름만 보고도 해당 블록이 어떤 기능을 하는지 파악할 수 있습니다.

 

 

 

 

 

 

 

3. 메소드 호출 흐름 설명

 

메소드는 호출된 순서에 따라 실행되며, 한 메소드가 다른 메소드를 호출할 수 있습니다.

예를 들어,

  • main() → methodA() → methodB()

순으로 호출되었다면, 실행이 끝날 때는

  • methodB() → methodA() → main()

순으로 되돌아갑니다.
즉, 먼저 호출된 메소드가 나중에 종료됩니다.

 

 

 

 

4. Stack 메모리와 호출 순서

 

자바에서 메소드가 호출되면, 실행을 위해 Stack 메모리 영역에 쌓입니다.
이 구조는 아래와 같은 흐름을 따릅니다:

  • 메소드가 호출될 때 → Stack에 저장
  • 메소드가 종료될 때 → Stack에서 제거
  • 마지막으로 호출된 메소드가 가장 먼저 종료됩니다 (LIFO 구조)

 

 

 

 

 

5. 메소드 호출 흐름 비교

 

public class Application {

    public static void main(String[] args) {
        System.out.println("main() 시작됨");

        Application app = new Application();
        app.methodA();

        System.out.println("main() 종료됨");
    }

    public void methodA() {
        System.out.println("methodA() 시작됨");
        methodB();
        System.out.println("methodA() 종료됨");
    }

    public void methodB() {
        System.out.println("methodB() 시작됨");
        System.out.println("methodB() 종료됨");
    }
}

 

main() 시작됨
methodA() 시작됨
methodB() 시작됨
methodB() 종료됨
methodA() 종료됨
main() 종료됨


📌 호출 순서 요약

  • main() → methodA() → methodB() 순서로 호출
  • methodB() 종료 → methodA() 종료 → main() 종료 순서로 복귀

 

 

 

 

 

 

 

 

마무리
다음 게시글에서는 메소드 선언과 호출 구조에 대해 학습하겠습니다.