반응형
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()를 적어줍니다.
매개변수 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()과 같이 기본적인 기능이지만 알 지 않아도 되는 인터페이스를 지칭
반응형
'☕ 자바 JAVA > ☕ 클래스와 함수 Class & Method' 카테고리의 다른 글
[JAVA]오버로딩 Overloading (0) | 2023.10.03 |
---|---|
[JAVA]Method의 Return문이란 (0) | 2023.09.17 |
[JAVA]클래스 Class 정의 (0) | 2023.08.20 |
[JAVA]한 파일에 여러 클래스 작성하기 (0) | 2023.08.15 |
[JAVA]클래스와 객체(with 기능, 속성) (0) | 2023.07.23 |