Method란?
Method를 사용하는 이유?
프로그래밍을 하면서 **반복해서 코드**를 작성하는데 재사용성을 위해서 호출시에만 코드가 동작하도록 하기 위함임
입력값을 주었을 때 리턴값으로 돌려주기 위함임
// Method type[Int]
int plus(int firstNum, int lastNum) {
return firstNum + lastNum;
}
main 메서드에서 plus()를 사용하기 위해서 해당하는 Class를 main 메서드에 객체를 생성해줌
// Main Method
public static void main(String[] args) {
// Operator Class를 main 메서드에 객체를 생성
// 해줘서 plus method를 사용해주기 위한 설정
Operator operator = new Operator();
// int 타입 setting
int firstNum = 1;
int lastNum = 2;
int result = operator.plus(firstNum, lastNum);
// output[출력 => plus method[값을 반환]]
System.out.printf("%d\\n", result); // 3
}
매개변수와 인수?
매개변수(Parameter)
메서드에 입력으로 **전달된 값을 받는 변수(Variable)**를 말함
메서드에 전달된 값을 저장하는 변수라고도 함!
public class Operator {
// Method type[Int]
int plus(int firstNum, int lastNum) {
// plus(int firstNum, int lastNum) << 매개변수임
return firstNum + lastNum;
}
}
인수(Arguments)
메서드를 호출할 때 **전달하는 입력값(input value)**을 말함
메서드에 전달하는 값이라고도 함
public class Operator {
public static void main(String[] args) {
Operator operator = new Operator();
int firstNum = 1;
int lastNum = 2;
// plus(firstNum, lastNum) << 인수임
int result = operator.plus(firstNum, lastNum);
// output[출력 => plus method[값을 반환]]
System.out.printf("%d\\n", result); // 3
}
}
Method의 입력값과 리턴값?
Method 구조?
리턴자료형은 메서드 수행 후 돌려줄 값의 자료형을 말함
메서드의 리턴값은 return이라는 명령을 사용함
리턴자료형 메서드명(입력자료형1 매개변수1, 입력자료형2 매개변수2, ...) {
...
return 리턴값;
// 리턴자료형이 void 인 경우에는 return 문이 필요없음
}
메서드는 입출력 유무에 따라 4가지로 분류됨
입력과 출력이 모두 있는 메서드
[예제]
public class Operator {
// Method type[Int]
int plus(int firstNum, int lastNum) {
return firstNum + lastNum;
}
}
// -> 입력값 : int firstNum, lastNum
// -> 리턴값 : int firstNum + lastNum
입력과 출력이 모두 없는 메서드
[예제]
public class PrtintClass {
// Method type[void]
void print() {
System.out.println("Hello");
}
}
// -> 입력값 : X
// -> 리턴값 : void(X)
입력은 없고 출력은 있는 메서드
[예제]
public class PrtintClass {
// Method type[String]
String print() {
return "Hello";
}
}
// -> 입력값 : X
// -> 리턴값 : String Hello
입력은 있고 출력은 없는 메서드
[예제]
public class Operator {
// Method type[void]
void plus(int firstNum, int lastNum) {
System.out.printf("%d과 %d의 합은 %d입니다.\\n", firstNum, lastNum, (firstNum + lastNum));
}
}
// -> 입력값 : int firstNum, lastNum
// -> 리턴값 : void(X)