12. 메소드

thsamajiki·2022년 10월 25일
0

JAVA

목록 보기
11/24

Java 프로그램은 여러가지의 클래스들로 구성되어 있는데, 이러한 클래스들이 가지고 있는 각각의 기능들 이를 바로 메소드라고 합니다.

https://i.imgur.com/XFfGaNQ.png

메소드 구조

메소드는 아래 그림과 같은 구조로 이루어져 있다.

https://i.imgur.com/6rVtKPs.png

타입(type)은 메소드의 이름 앞에 위치하며, 메소드 수행 결과 값의 자료형(Types)을 나타낸다. 메소드명(method name)은 여는 소괄호 ( 앞에 위치하고 말 그대로 이름을 의미한다. 파라미터(parameters)는 매개변수라고 불리며, 소괄호 안 ( ... )에 위치하여 외부로부터 전달받은 값을 저장한다. 중괄호에 둘러 쌓인 부분{ ... }은 메소드의 동작을 적는 영역이다.

main() 메소드를 예로 구조를 파악해 봅시다.

class Methods {
// public static: 두가지 키워드는 나중에 배움. 일단 따라칠것!
// 리턴타입: void - 반환 값이 없음을 의미.
// 메소드명: main
// 파라미터: String[] args - 추후 설명.
		public static void main(String[] args) {
				System.out.println("Hello World!");
		}
}

타입의 위치에 void가 위치해 있는데, void란 메소드가 아무런 값도 반환 하지 않음을 의미한다. 메소드의 이름 위치에는 main이 적혀 있고, 파라미터로는 String[] args라는 내용이 위치해 있다.


메소드와 프로그램 실행흐름

class NewLine {
		public static void threeLines() {
				System.out.println("");
				System.out.println("");
				System.out.println("");
		}

		public static void main(String[] arguments) {
				System.out.println("Line 1");
				threeLines();
				System.out.println("Line 2");
		}
}

위 코드의 실행결과는 아래와 같다.

https://i.imgur.com/2RE1XsF.png

어떠한 과정을 거쳐 위와 같은 출력결과가 나오게 되었을까?

먼저 프로그램의 시작점인 main 메소드의 첫줄로 인해 “Line 1”이라는 문자열이 출력된다.

그 다음으로 다음 행인 threeLines()가 수행이 되는데, 여기서 바로 메소드의 호출이 일어나게 된다. 따라서 실행의 흐름은 10행에서 threeLines() 메소드가 정의되어있는 2행으로 넘어간다.

그 다음의 실행흐름은 threeLines() 메소드 내부의 System.out.println() 메소드를 3번 실행한 뒤 threeLines() 메소드 호출이 종료되고서야 비로소 main 메소드로 되돌아오게 된다.

되돌아온 실행 흐름은 System.out.println("Line 2"); 구문을 실행하여 “Line 2”를 출력한다. 이제 더 이상 main() 메소드 내부에 수행할 행이 없으므로 프로그램이 종료된다.

profile
안드로이드 개발자

0개의 댓글