어떤 기능을 수행하는 코드들을 묶어 놓은 공간
public static void sayHello(){
System.out.println("Hello I'm Method");
}
sayHello(); //"Hello I'm Method"
//전달값이 있는 메소드 선언과 호출
public static void power(int number){ //전달값, 매개변수
int result = number * number;
System.out.println(number + " 의 2승은 " + result);
}
public static void main(String[] args) {
power(2); //2의 2승은 4
}
//전달값이 2개 있는 메소드 선언과 호출
public static void power(int number, int exponent){
int result = 1;
for (int i = 0; i < exponent; i++) {
result = result * number;
}
System.out.println(number + " 의 " + exponent + "승은 " + result);
}
public static void main(String[] args) {
powerByExp(2,3); //2의 3승은 8
powerByExp(10,0); //10의 0승은 1
}
//반환 방법 1
public static String getAcrivity(){
String activity = "볼링장, 탁구장, 노래방";
return activity;
}
//반환 방법 2
public static String getAcrivity(){
return "볼링장, 탁구장, 노래방";
}
//호출 방법 1
public static void main(String[] args) {
String contactActivity = getAcrivity();
System.out.println("호텔 액티비티 : " + contactActivity);
}
//호출 방법 2
public static void main(String[] args) {
System.out.println("호텔 액티비티 : " + getAcrivity());
}
public static int getPower(int number){
int result = number * number;
return result;
//return number * number;
}
public static int getPowerByExp (int number, int exponent){
int result = 1;
for (int i = 0; i < exponent; i++) {
result = result * number;
}
return result;
}
public static void main(String[] args) {
int retVal = getPower(2);
System.out.println(retVal); //4
retVal =getPower(3);
System.out.println(retVal); //9
retVal = getPowerByExp(3,3);
System.out.println(retVal); //27
System.out.println(getPowerByExp(2,4)); //16
}
이름이 같은 메소드를 얼마든지 중복해서 선언하는 것
public static int getPower(int number){
int result = number * number;
return result;
}
//전달값의 타입이 다를 때
public static int getPower(String strNumber){
int number = Integer.parseInt(strNumber);
retrun number * number;
}
//전달값의 갯수가 다를 때
public static int getPower(int number, int exponent){
int result = 1;
for(i = 0; i < exponent; i++){
result = result * number;
}
return result;
}
//메소드 호출
public static void main(String[] args) {
System.out.println(getPower(3)); //3*3 = 9
System.out.println(getPower("4")); //4*4 = 16
System.out.println(getPower(3,3));//3+3+3 = 27
}
//메소드 내에서 또 다른 메소드 호출 가능
public static int getPower(int number){
return getPower(number,2);
}
//다른 메소드에서 선언된 변수를 사용하고 싶다면
public static void methodA(int number){
//전달값을 이용해서 메소드 호출할 때 그 값을 전달하는 식으로 사용
}
public static void main(String[] args) {
int number = 3; //지역변수
for (int i = 0; i < 5; i++) { //지역변수 I
System.out.println(i);
}
//System.out.println(i); 사용불가
}
- 자바 프로그램이 실행 될 때 가장 처음으로 진입하는 main 영역
- 반환형은 없고, 문자열을 여러개 가지고 있는 String 배열을 전달값으로 받는 메소드
-main 메소드를 호출할 때 전달받는 값에 따라서 프로그램의 동작을 다르게 할 수 있다
//전달값 출력
public static void main(String[] args) {
for (String s : args) {
System.out.println(s);
}
//1.도서 조회
//2.도서 대출
//3.도서 반납
if (args.length == 1){
switch (args[0]){
case "1" :
System.out.println("도서 조회 메뉴 입니다.");
break;
case "2":
System.out.println("도서 대출 메뉴 입니다.");
break;
case "3":
System.out.println("도서 반납 메뉴 입니다.");
break;
default:
System.out.println("잘못 입력하셨습니다.");
}
} else {
System.out.println("사용법) 1-3 메뉴 중 하나를 입력하세요.");
}
}