메서드(method)
- 메서드는 반복되는 코드 블록에 이름을 붙여 놓은 것입니다.
- 메서드는 반복되는 코드를 줄여주고, 좀 더 구조화 시켜 우리가 코드를 알아보기 쉽게 합니다.
- 객체지향프로그래밍에서 메서드는 '객체가 가져야할 기능을 구현하기 위해 만든다.' 라고 표현하기도 합니다.
- 메서드의 이름 뒤에는 반드시 소괄호'()'가 따릅니다.
메서드 선언 방법(반드시 외우자)
<반환 유형> <메서드 식별자 이름> (매개 변수) { 기능 상세;
}
메서드의 구분, 매개변수
유형 1 : 매개변수 있고, 반환 값 있다! 전달인자 (○), 반환 값 (○)
유형 2 : 매개변수 있고, 반환 값 없다! 전달인자(○), 반환 값 (X)
유형 3 : 매개변수 없고, 반환 값 있다! 전달인자 (X), 반환 값(○)
유형 4 : 매개변수 없고, 반환 값 없다! 전달인자(X), 반환 값(X)
매개 변수 (parameter)
- 매개 변수는 메서드가 실행될 때 필요한 데이터를 외부로부터 받기 위해 사용됩니다.
- 매개 변수도 일종의 변수이기 때문에 메서드의 소괄호() 부분에 데이터 타입과 함께 선언하지 않을수도 있습니다. 이때는 반환 유형을 적을때와 같이 void를 쓰지않고 소괄호() 안에 비워둬야 합니다.
반환유형(return type)
- 반환 유형은 메서드가 실행한 후 메서드를 호출한 곳에서 반환하는 값의 데이터 타입을 말합니다.
- 메서드는 반환값이 있을 수도 있고 없을 수도 있는데 없는 경우에는 반환 유형에 void를 적어줘야 합니다.
- 반환값이 있는 메서드를 호출할 때는 해당 반환 유형에 맞는 변수에 반환값을 저장해야 합니다.
-메서드가 실행의 결과값을 반환할 때는 return이라는 키워드를 사용합니다.
// 반환유형 x 매개변수 x
static void print() {
System.out.println("정수 두개를 입력하세요!");
}
// 반환유형 o, 매개변수 x
static int input() {
Scanner scan = new Scanner(System.in);
System.out.print("정수 입력>");
int num = scan.nextInt();
return num;
}
//반환유형 o, 매개변수 o
static int add(int num1, int num2) {
int result = num1 + num2;
return result;
}
// 반환유형 x, 매개변수 o
static void showResult(int result) {
System.out.println("덧셈 결과: " + result);
}
문서 예시?
public class MethodBasic {
public static void main(String[] args) {
print();
int num1 = input();
int num2 = input();
int result = add(num1, num2);
showResult(result);
}
주말에 이거 다시 확인
package day05;
public class MethodEx01 {
public static void main(String\[\] args) {
// 메서드는 메서드 내부에 만들 수 없습니다.
// main밖, class안 어디서든 선언할 수 있습니다.
// int sum = 0; // 그대로 int calSum(){ 아래로
// for(int i = 1; i <= 10; i++) {
// sum += i;
// }
// 호출할떄는 이름만
System.out.println("1~10까지 합:" + calSum());
System.out.println("1~10까지 합:" + calSum());
// calSum();
int sum = calSum(); // 반환이 있는 메서드는 결과를 받아서 사용 할 수 있다.
System.out.println("결과:" + sum);
String str = randomStr();
System.out.println("결과:" + str);
char c = randomStr2();
System.out.println("결과:" + c);
}
// 입력되는건없고
static int calSum() {
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
}
return sum; // 반환
}
static String randomStr() {
String str = "";
for (char c = 'A'; c <= 'Z'; c++) {
str += c;
}
return str;
}
static char randomStr2() {
char c = 0;
double d = Math.random(); // 0~1미만 실수형
if (d > 0.66) {
c = 'A';
} else if (d > 0.33) {
c = 'B';
} else {
c = 'C';
}
return c; // 허허..
}
static char randomStr3() {
char c = 0;
double d = Math.random(); // 0~1미만 실수형
if (d > 0.66) {
return 'A';
} else if (d > 0.33) {
return 'B';
} else {
return 'C';
}
// return c; 허허..
}
}
'Java 공부' 카테고리의 다른 글
Day08 - 메서드(함수) 반환형( return) (0) | 2021.08.24 |
---|---|
Day08 - 메서드(함수) 매개 변수 (0) | 2021.08.24 |
Day08 - 제어문 continue(다음작성시 이것부터 순서대로 (0) | 2021.08.23 |
Day07 - 제어문 break (0) | 2021.08.23 |
Day06 - 선택정렬,버블정렬 (0) | 2021.08.23 |