☕ 자바 JAVA/☕ 클래스와 함수 Class & Method

[JAVA]Method 메서드란(+ 함수와의 차이, BlackBox란)

yeun.log 2023. 9. 10. 23:03
반응형

 

 

 

Method란?

 

 

 

  • 작업단위로) 문장들을 묶어 놓은 것
  • 값(입력)을 받아 처리하거나 결과를 반환(출력)할 수 있다.
Method와 Function(함수) 차이
Method는 객체지향 개념에서 함수를 지칭한다.
Method는 Class안에 있어야만 하는 제약성을 가지지만, 함수는 Class에 독립적일 수 있다.
* 구분하고 단어를 쓰는 경우는 별로 없다.

 

 

 

 


 

 

 

Method = 선언부 + 구현부

 

 

 

반환타입 Mehod이름(매개변수 Parameter)
{실행코드}
  • 선언부 : 반환타입 Mehod이름(매개변수 Parameter)
    Method에서 return 반환할타입 Method이름과 매개변수 Parameter : Method호출시 넘겨받는 값을 지정합니다.
  • 구현부 : {실행코드}
    Method 호출 시 수행될 코드를 작성합니다.

 

 

int addNum(int a, int b) {
	return a + b;
}

int타입인 매개변수 a와 b를 받아 +더해서 return하므로 당연히 return타입도 int이겠죠.

그래서 method명 앞에 int를 적어줍니다.

 

 

 

 

반환할 타입과 매개변수가 없다면

 

 

 

void printNotice() {
	System.out.println("더할 값을 입력하시오.");
}

 

 

반환타입을 적을 곳에 void()를 적어줍니다.

void 영문의미

매개변수 Parameter가 없다면 ( ) 안에 아무 것도 적지 않아도 됩니다.

 

 

 

 

 

 


 

 

 

 

Method 장점

 

 

  • 코드의 중복을 줄일 수 있다.
  • 그래서 관리와 재사용이 쉽다.
  • 코드가 간결하고 이해하기 쉬워쥔다.

위의 더하기 기능을 계속해서 하고싶다면 Main부분에 적은 내용을 따로 함수로 빼주면 됩니다.

만약 빼기 기능까지 만들고 싶다면 따로 클래스를 하나씩 만들어 줄 수도 있겠죠.

import java.util.Scanner;

public class WhatIsMethod {

	public static void main(String args[]) {
		while(true) {
			addAgain();
		}
	}
	
	static void addAgain() {
		Scanner scanner = new Scanner(System.in);
		
		WhatIsMethod method = new WhatIsMethod();

		method.printNotice();
		
		int firstInput = scanner.nextInt();
		int secondInput =  scanner.nextInt();
		
		int sum = method.addNum(firstInput, secondInput);
		
		System.out.printf("%d와 %d를 더한 값은 %d입니다.\n", firstInput, secondInput, sum);
	}
	
	int addNum(int a, int b) {
		return a + b;
	}
	
	void printNotice() {
		System.out.println("더할 값을 입력하시오.");
	}
	
}

while이 true이기 때문에 서버를 끄지 않는 한 계속해서 더하기를 실행합니다.

 

 

 

 

 

 예시로 매개변수와 반환타입을 기본타입 int를 사용했습니다만..
총 방문수를 반환하는 method인 경우엔 int타입을 사용합니다.
하지만 대부분의 method들은 매개변수나 반환타입으로
많은 데이터를 담을 수 있는 Collection 타입인 List 혹은 Map(특히 Map!)을 사용하곤 합니다.

 

 

 

 


 

 

 

 

BlackBox
: println()과 같이 기본적인 기능이지만 알 지 않아도 되는 인터페이스를 지칭

 

 

 

 

 

 

반응형