메소드

2022. 8. 24. 21:51Java 프로그램

728x90

오늘은 메소드에 대해 정리해 보겠습니다.

우선 메소드의 정의부터 알아보자면 메소드는 함수와 같은 말입니다. 하지만 자바에서는 그저 메소드라고 부르는 것 인데요 이 Method는 어떠한 행위를 위한 묶음 패키지 느낌으로 저는 받아들였습니다. 그 패키지 자체를 나중에 또 쓸수 있는 무언가가 method라고 이해했습니다.

method를 호출할 대 마다 JVM이 메모리에서 stack영역에 생성하는 정보를 Activation Record라고 합니다.

Stack은 비커 모양의 메모리에서  순서대로 변수들을 쌓는 메모리 틀이라고 생각하시면 좋겠습니다.

Stack memory

이렇게 늦게 들어온 데이터들이 가장 먼저 해소가 되는 LIFO 형식입니다.(Last in First Out)

저는 일단 이론적인 부분을 다뤄 개념에 입각하기 보다는 바로 예제를 보며 이해하기가 빠르고 좋았기 때문에 바로 예제로 넘어 가겠습니다.

method(메소드) 예제1

자 저희는 1부터 10까지 , 14~25까지, 43~76까지의 숫자 합계를 구하려면 for문을 이용해 각각 범위를 지정해주는 3개의 반복문을 코딩했어야 했습니다. 하지만 메소드 작성을 통해 parameter, 즉 매개 변수의 변동에 따라 원하는 값을 각각 가질수 있는 것을 위 사진 처럼 확인 할 수 있습니다. 여기서 매개 변수란 int startint 와 int endint를 말하는 것입니다. 원하는 변수 값을 대입할 변수 라고 생각하면 될것 같습니다. 위 사진 아래부분에 public static int sum() {} 부분에서 public static은 나지금은 신경 쓰지 말고 넘어가겠습니다. 그 후에 코딩 되어 있는 int 는 return 해줄 변수의 타입을 지정, 그 다음 sum은 메소드의 이름입니다. 이 이름은 메소드를 사용할 때 쓰입니다. 

sum(1,10) 은 sum메소드를 사용하는데 변수를 startint를 1로 endint를 10으로 설정하여 값을 리턴 받겠다는 것과 같습니다. 

다음 예제도 보겠습니다. 이번엔 sum이 아닌 max값을 알아보는 메소드입니다.

method(메소드) 예제2

이것은 max 메소드를 만들어 i와 j중 큰값을 k에 대입해 출력하는 문제입니다.

예제 1번과 크게 다른 점은 없으니 그저 예시중 하나로 참고용으로 보면 좋을 것같습니다. 감사합니다.

반응형

'Java 프로그램' 카테고리의 다른 글

상속 (클래스 상속)/ @Override  (0) 2022.08.30
Class(클래스)  (0) 2022.08.30
향상된 for문  (0) 2022.08.23
배열 : Array[]  (0) 2022.08.22
문자열 : String  (0) 2022.08.18