본문 바로가기
그 외 프로그래밍 언어/Java

자바, 메소드(method) 실습

by Dreaming Coder 2021. 12. 11. 15:59

 


 

지금까지 공부한 내용들로 이번에는 문제를 보고 직접 메소드를 만들어봅시다.

어렵게 생각하실거 없습니다.

지금까지 공부한 내용으로 충분히 만드실 수 있습니다.

 

 

 

지난 포스트

 

자바, 리턴 타입이 없는 메소드 (feat. void)

계속해서 메소드에 대해서 공부해보겠습니다. 이번에는 지난 포스트에서 공부한 '결과 값을 돌려주는 메소드'와는 달리, 리턴 타입이 없는, 아무런 결과 값도 돌려주지 않는 메소드를 만들어보

gogogameboy.tistory.com

 

 

 

실습 문제

 

2개의 양수를 받아 2개의 숫자 중 더 큰 수를 반환하는 메소드 largerNumbers()를 만들어보세요.

(단, 만약 두 숫자가 같다면 0을 반환하게 만들어보세요.)

 

이미지에는 LargerNumbers라고 쓰여있지만 메소드의 첫문자는 소문자로 만들어주세요.

(예)

largerNumbers(2, 7) → 7을 반환

largerNumbers(9, 5) → 9를 반환

largerNumbers(8, 15) → 15를 반환

largerNumbers(6, 6) → 0을 반환

 

 

 

아래로 스크롤을 조금만 더 내리면 답이 나오겠지만, 바로 답을 보기 전에 스스로 만들어보시는 것을 추천드립니다.

메소드의 원리를 이해하기 위한 실습 정도로 생각하시면 됩니다.

실제 이 largerNumbers() 메소드 안에 들어가는 코드들은 그렇게 복잡하지 않습니다.

 

혹시 가물가물하실 분들에게 팁을 몇가지 드리자면 largerNumbers() 메소드 안에서는 if-else문이 사용될 겁니다.

 

 

 

 

자바, 조건문이란? (feat. 단순 if문)

조건문을 배우기 시작하면 지금까지 배웠던 것들에 비해서 난이도가 조금 올라갑니다. 이번에는 조건문 중에서도 if문을 배워보겠습니다. 지난 포스트 자바, 연산자 우선순위 연산자에 대한 마

gogogameboy.tistory.com

 

자바, 조건문 if-else문

지난 글에 이어서 이번에도 조건문을 배워보겠습니다. 이번에 배울 내용은 if-else문입니다. 지난 포스트 자바, 조건문이란? (feat. 단순 if문) 조건문을 배우기 시작하면 지금까지 배웠던 것들에 비

gogogameboy.tistory.com

 

자바, 조건문 if-else문 실습 3가지

지난 포스트에서 배운 if-else문을 이용한 문제 3가지를 풀어보겠습니다. 지난 포스트 자바, 조건문 if-else문 지난 글에 이어서 이번에도 조건문을 배워보겠습니다. 이번에 배울 내용은 if-else문입

gogogameboy.tistory.com

 

자바, 조건문 다중 if-else문

조건문 중에서 세 번째로 배울 조건문은 다중 if-else문입니다. 지난 포스트 자바, 조건문 if-else문 실습 3가지 지난 포스트에서 배운 if-else문을 이용한 문제 3가지를 풀어보겠습니다. 지난 포스트

gogogameboy.tistory.com

 

자바, 조건문 다중 if-else문 실습

이전에 공부한 다중 if-else문으로 아래와 같은 프로그램을 만들어봅시다. 지난 포스트 자바, 조건문 다중 if-else문 조건문 중에서 세 번째로 배울 조건문은 다중 if-else문입니다. 지난 포스트 자바,

gogogameboy.tistory.com

단순 if문, if-else문, 다중 if-else문이 살짝 가물가물하신 분들은 위의 포스트들을 확인해주세요.

 

 

 

 

정답

 

package 메소드기초;

public class Ex03 {

	public static void main(String[] args) {
		
		int num1 = 10;
		int num2 = 24;
		int result = largerNumbers(num1,num2);
		System.out.println("큰 수 확인 : " + result);


	}

	public static int largerNumbers(int num1, int num2) {
		int result = 0;
		
		// 1. num1과 num2 중 누가 더 큰지 비교
		// 2. 더 큰 수를 result에 담아주기
		// 3. 단, 두 수가 같다면 result 0이라는 숫자를 담아주기
		if(num1>num2) {
			result = num1;
		} else if(num2>num1) {
			result = num2;
		} else {
			result = 0;
		}
		return result;
	}

}

 

return으로 반환할 결과 값이 담길 변수인 result 변수를 선언해줍니다.

다중 if-else문을 이용해서 더 큰 수를 result에 담게 만들고, 두 수가 같다면 0이 담기게 만들어줍니다.

 

그런데 아래와 같은 방법으로 메소드를 만들 수도 있습니다.

 

 

 

package 메소드기초;

public class Ex03 {

	public static void main(String[] args) {
		
		int num1 = 10;
		int num2 = 24;
		int result = largerNumbers(num1,num2);
		System.out.println("큰 수 확인 : " + result);


	}

	public static int largerNumbers(int num1, int num2) {
		// 1. num1과 num2 중 누가 더 큰지 비교
		// 2. 더 큰 수를 result에 담아주기
		// 3. 단, 두 수가 같다면 result 0이라는 숫자를 담아주기
		
		if(num1>num2) {
			return num1;
		} else if(num2>num1) {
			return num2;
		} else {
			return 0;
		}
		
	}

}

 

result라는 변수를 만들지 않고, if-else문 안에서 바로 return을 해주는 방법입니다.

 

 

 

 

자바, 메소드(method)의 기본 구조

이번에는 메소드method에 대해서 배워봅시다. 처음에는 분명 어렵고 복잡하게 느껴질 수도 있지만, 일단 해보면 조금씩 이해가 되실 겁니다. 지난 포스트 자바, 2차원 배열의 중복되는 코드를 for

gogogameboy.tistory.com

지난번에 작성한 '메소드의 기본 구조' 포스트에서는,

'return 키워드가 나오는 동시에 메소드의 로직은 끝나게 되는 것이므로, 반환 데이터는 가장 아랫줄에 써야 한다'고 했습니다. 그리고 메소드 안에서 return은 한번밖에 안 들어가는데, 위의 코드에서는 return이 여러 번 들어가 있는데다 마지막 줄에 쓰여있지도 않습니다.

 

그런데도 이것이 가능한 이유는 위의 if-else문은 조건문이기 때문에 어차피 세가지 조건들 중에서 한 조건만을 거치게 되기 때문에 return을 한 번만 쓴 것이나 다름이 없게 되는 것입니다.

 

 

 

 

 

 

다음 포스트

 

자바, 메소드(method) 실습 2

메소드에 익숙해지기 위해서 또 메소드 실습 문제를 풀어나가 보겠습니다. 지난 포스트 자바, 메소드(method) 실습 지금까지 공부한 내용들로 이번에는 문제를 보고 직접 메소드를 만들어봅시다.

gogogameboy.tistory.com

 

 

 


이 글이 도움이 됐다면 하단의 공감 버튼을 꾹 눌러서
빨간 하트로 만들어주세요.
지인에게 보여주고 싶은 글이었다면
공감 버튼 옆을 클릭해서 SNS 공유해주세요.
댓글은 블로그 운영에 큰 힘이 됩니다.

 


 


댓글