* 메소드
한 기능을 처리하기 위한 용도
패키지명 : 소문자로 시작
클래스명 : 대문자로 시작
변수명 : 소문자로 시작
메소드명 : 소문자로 시작
공통 : 낙타표기법(camel case)
[표현법]
접근제한자 [예약어] 반환형(반환할 값의 자료형) 메소드명([매개변수1, 매개변수2,...]){
수행내용;
[return 결과값;]
}
1. 매개변수 없고 반환값도 없는 메소드
package com.kh.chap06_method.controller;
public class NonStaticMethod {
// 1. 매개변수 없고 반환값도 없는 메소드
public void method1() {
// return 0; => 반환할 값 없어야한다.
System.out.println("매개변수와 반환값이 둘다 없는 메소드 입니다.");
}
}
실행 클래스
package com.kh.chap06_method.run;
import com.kh.chap06_method.controller.NonStaticMethod;
public class MethodRun {
public static void main(String[] args) {
NonStaticMethod n = new NonStaticMethod();
// 1. 매개변수도 없고 반환값도 없는 메소드 호출
// n.method1(10); 매개변수 넣으면 안된다.
n.method1();
}
}
컴파일
2. 매개변수 없고 반환값은 있는 메소드
package com.kh.chap06_method.controller;
public class NonStaticMethod {
// 2. 매개변수 없고 반환값은 있는 메소드
public String method2() {
System.out.println("매개변수는 없고 반환값은 있는 메소드 입니다.");
return "아 집에가고싶다...";
}
}
실행 클래스
package com.kh.chap06_method.run;
import com.kh.chap06_method.controller.NonStaticMethod;
public class MethodRun {
public static void main(String[] args) {
// 2. 매개변수 없고 반환값은 있는 메소드 호출
n.method2();
// String str = n.method2(); // str에 반환값 "아 집에가고싶다..."를 대입
System.out.println(n.method2());
}
}
컴파일
3. 매개변수는 있고 반환값은 없는 메소드
package com.kh.chap06_method.controller;
public class NonStaticMethod {
// 3. 매개변수는 있고 반환값은 없는 메소드
public void method3(int num1, int num2) {
System.out.println("매개변수는 있고 반환값은 없는 메소드 입니다.");
if(num2 != 0) {
System.out.println("num1 / num2 : " + (num1 / num2));
}else {
System.out.println("0으로 나눌 수 없습니다.");
}
}
}
실행 클래스
package com.kh.chap06_method.run;
import com.kh.chap06_method.controller.NonStaticMethod;
public class MethodRun {
public static void main(String[] args) {
// 3. 매개변수 있고 반환값은 없는 메소드 호출
// n.method3(); // 매개변수가 없으면 오류남
// n.method3(10); // 매개변수 개수 맞지 않으면 오류남
// n.method3("ㅋㅋ", "ㅎㅎ"); // 매개변수 타입 맞지 않으면 오류남
// int a = n.method3(10, 20); // 메소드에 return 없음 -> 반환값이 없어서 오류남
n.method3(10, 5);
n.method3(10, 0);
}
}
컴파일
4. 매개변수도 있고 반환값도 있는 메소드
package com.kh.chap06_method.controller;
public class NonStaticMethod {
// 4. 매개변수도 있고 반환값도 있는 메소드
// 문자열과 정수값을 전달 받아서 해당 문자열의 해당 정수인덱스의 문자값을 뽑아서 반환
// apple 전달 받아서 2번 인덱스 뽑아줘 하면 p 출력
public char method4(String str, int index) {
System.out.println("매개변수와 반환값 둘 다 있는 메소드 입니다.");
return str.charAt(index);
}
}
실행 클래스
package com.kh.chap06_method.run;
import java.util.Scanner;
import com.kh.chap06_method.controller.NonStaticMethod;
public class MethodRun {
public static void main(String[] args) {
// 4. 매개변수도 있고 반환값도 있는 메소드 호출
char ch = n.method4("lemon",1); // => lemon.chatAt(1); => 'e' 반환해서 ch에 대입
System.out.println(ch);
// 한줄로 줄이고 싶다면 ?
System.out.println(n.method4("lemon",1));
// 사용자에게 매개변수를 입력 받아서 해당 메소드 호출
Scanner sc = new Scanner(System.in);
System.out.print("문자열 입력 : ");
String str = sc.nextLine();
System.out.print("인덱스 입력 : ");
int index = sc.nextInt();
// 여기서 유효성 검사 해보기
// index 0 이상이고 문자열의 길이보다 작을때만 method4 실행
if(index >= 0 && index < str.length()) {
System.out.print("결과 : " + n.method4(str, index));
}else {
System.out.println("인덱스 값이 부적절합니다.");
}
}
}
컴파일