● 메소드
- 이름 뒤에 소괄호
- 단, 키워드(예약어) 뒤에 소괄호가 있다면 메소드가 아니다.
![](https://blog.kakaocdn.net/dn/sK8g8/btruc6q2p11/XhdEwuLbmARqG02n5kbtT1/img.png)
● 메소드 선언
- (1)리턴타입 (2)메소드명(자료형 (3)매개변수명, ...) {
(4)실행할 문장;
(5)return 리턴값;
}
(1) 리턴타입
- 리턴 값이 있다면 리턴 값의 자료형을 작성하고, 리턴 값이 없다면 void를 작성한다.
(2) 메소드명
- 동사로 작성한다.
(ex) 연필(매개변수)을 쓴다(메소드)
(3) 매개변수명
- 외부에서 전달받을 값이 있다면, 자료형과 순서에 맞게 선언해준다.
- 생략이 가능하지만 생략 시, 외부에서 값을 전달받을 수 없다.
(4) 실행할 문장
- 생략이 가능하다
- 메소드의 기능을 구현하는 로직을 작성한다.
(5) return
- 생략이 가능하다.
● 메소드 주의사항
- 메소드를 선언할 때에는 반드시 메소드 밖에서 선언한다.
- 메소드를 사용할 때에는 반드시 메소드 안에서 선언한다.
※ {}가 있으면 선언, 없으면 사용이다.
● 메소드 선언 순서
(ex) 두 정수의 덧셈 메소드 선언
1. 메소드 이름을 생각한다.
- add, plus, addNum, addInt, sum, deouhagee, ...
→ add( ) { }
2. 매개변수를 생각한다.
add(int num1, int num2) {
}
3. 실행할 문장을 생각한다.
add(int num1, int num2) {
int result = num1 + num2;
}
4. 리턴 값을 생각한다.
add(int num1, int num2) {
int result = num1 + num2;
return result;
}
5. 리턴 타입을 결정한다.
int add(int num1, int num2) {
int result = num1 + num2;
return result;
}
실습(배열)
1. f(x) = 2x + 1(단, x는 정수이다.)
public class MethodTest {
int f(int x) {
int result = 2 * x + 1;
return result;
}
// static : 컴파일 시 가장 먼저 메모리에 할당된다.
// 1. 같이 static을 붙여서 사용한다.
// 2. 메소드의 클래스 소속을 앞에 붙여준다.
// main 메소드는 프로그램을 만들어주는 메소드이다.
public static void main(String[] args) {
MethodTest mt = new MethodTest();
System.out.println(mt.f(3));
}
}
![](https://blog.kakaocdn.net/dn/c3ybYo/btruiQ8hTxy/QbT2IB61kQfaGiODNPaQm1/img.png)
실습(main() 사용)
1. MainTest.java 파일을 생성한 후 main 메소드 안에 코드 작성
public class MainTest {
public static void main(String[] args) {
if(args.length == 0) {
System.out.println("None");
} else {
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
}
}
2. 파일탐색기에서 MainTest.java 파일이 존재하는 경로로 접근하여 경로 출력란에서 cmd 입력 후 Enter
3. cmd 창에서 아래 내용대로 입력
C:\Web_1900_lyr\java\workspace\my_day08\src\my_day08>cd ..
C:\Web_1900_lyr\java\workspace\my_day08\src>java my_day08.MainTest
None
C:\Web_1900_lyr\java\workspace\my_day08\src>java my_day08.MainTest 홍길동 동
홍길동
동
실습(메소드)
1. 1~10까지 println()으로 출력하는 메소드
import java.util.Scanner;
public class MethodTask {
void printFrom1To10() {
for (int i = 0; i < 10; i++) {
System.out.println(i + 1);
}
}
}
2. "홍길동"을 n번 println()으로 출력하는 메소드
import java.util.Scanner;
public class MethodTask {
void printHong(int count) {
for (int i = 0; i < count; i++) {
System.out.println("홍길동");
}
}
}
3. 이름을 n번 println()으로 출력하는 메소드
import java.util.Scanner;
public class MethodTask {
void printName(String name, int count) { // name : 출력할 이름, count : 출력 횟수
for (int i = 0; i < count; i++) {
System.out.println(name);
}
}
}
4. 세 정수의 뺄셈을 해주는 메소드(출력이 아니다.)
import java.util.Scanner;
public class MethodTask {
int sub(int num1, int num2, int num3) {
int result = num1 - num2 - num3;
return result;
}
}
'웹 개발 > Java' 카테고리의 다른 글
[Web_JAVA] 13 (0) | 2022.02.27 |
---|---|
[Web_JAVA] 12 (0) | 2022.02.26 |
[Web_JAVA] 10 (0) | 2022.02.24 |
[Web_JAVA] 09 (0) | 2022.02.23 |
[Web_JAVA] 08 (0) | 2022.02.22 |