-
메소드Back end/Java 기본 2023. 11. 14. 12:56
1. 메소드
package chap_06; public class _01_Method { // 메소드 정의 public static void sayHello() { System.out.println("안녕하세요? 메소드입니다."); } public static void main(String[] args) { // 메소드 호출 System.out.println("메소드 호출 전"); sayHello(); sayHello(); sayHello(); System.out.println("메소드 호출 후"); } }
2. 전달값(Parameter)
package chap_06; public class _02_Parameter { // 전달값이 있는 메소드 public static void power(int number){ // Parameter, 매개변수 int result = number * number; System.out.println(number + " 의 2승은 " + result); } public static void powerByExp(int number, int exponent){ int result = 1; for (int i = 0; i < exponent; i++) { result *= number; // result = result * number; } System.out.println(number + "의" + exponent + " 승은 " + result); } public static void main(String[] args) { // 전달값 Parameter // 2 -> 2 * 2 = 4 // 3 -> 3 * 3 = 9 // Argument, 인수 power(2); // 2 * 2 = 4 power(3); // 3 * 3 = 9 powerByExp(2,3); // 2 * 2 * 2 = 8 powerByExp(3,3); // 3 * 3 * 3 = 27 powerByExp(10,0); // 1 } }
3. 반환값(Return)
package chap_06; public class _03_Return { // 호텔 전화번호 public static String getPhoneNumber() { String phoneNumber = "02-1234-5678"; return phoneNumber; } // 호텔 주소 public static String getAddress(){ return "서울시 어딘가"; } // 호텔 엑티비티 public static String getActivities(){ return "볼링장, 탁구장, 노래방"; } public static void main(String[] args) { // 반환값, Return String contactNumber = getPhoneNumber(); System.out.println("호텔 전화번호: " + contactNumber); String address = getAddress(); System.out.println("호텔 주소: " + address); System.out.println("호텔 액티비티 :" + getActivities()); } }
4. 전달값과 반환값
package chap_06; public class _04_ParameterAndReturn { 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;// 2,4,8 for (int i = 0; i < exponent; i++) { // 0,1,2,3 result *= number; // result = result * number; } return result; } public static void main(String[] args) { // 전달값과 반환값이 있는 메소드 int retVal = getPower(2); System.out.println(retVal); // 2 * 2 = 4 retVal = getPower(3); System.out.println(retVal); // 3 * 3 = 9 retVal = getPowerByExp(3,3); System.out.println(retVal); // 3 * 3 * 3 = 27 System.out.println(getPowerByExp(2,4)); // 2 * 2 * 2 * 2 = 16 } }
5. 메소드 오버로딩
package chap_06; public class _05_Overloading { public static int getPower(int number) { int result = number * number; return result; // return number * number; } public static int getPower(String strNumber) { int number = Integer.parseInt(strNumber); return number * number; } public static int getPower(int number, int exponent) { int result = 1;// 2,4,8 for (int i = 0; i < exponent; i++) { // 0,1,2,3 result *= number; // result = result * number; } return result; } public static void main(String[] args) { // 메소드 오버로딩 // 같은 이름의 메소드를 여러 번 선언 // 1. 전달값의 타입이 다르거나 // 2. 전달값의 갯수가 다르거나 할때 메소드 오버로딩 선언이 가능하다. 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 } }
6. 메소드가 필요한 이유
package chap_06; public class _06_WhenToUse { public static int getPower(int number) { return getPower(number, 2); // 메소드 안에 메소드를 또 쓸수가 있음. } public static int getPower(int number, int exponent){ int result = 1; for (int i = 0; i < exponent; i++) { result *= number; } return result; } public static void main(String[] args) { // 메소드 필요한 이유 // 2의 2승을 구하기 System.out.println(getPower(2,2)); // 2 * 2 = 4 // 3의 3승을 구하기 System.out.println(getPower(3,3)); // 3 * 3 * 3 = 27 // 4의 2승을 구하기 System.out.println(getPower(4,2)); // 4 * 4 = 16 } }
7. 변수의 범위
package chap_06; public class _07_VariableScope { public static void methodA(int number) { //System.out.println(number); //System.out.println(result); } public static void methodB() { int result = 1; // 지역 변수 } public static void main(String[] args) { int number = 3; //System.out.println(result); for (int i = 0; i < 5; i++) { System.out.println(i); } // System.out.println(i); { int j = 0; System.out.println(j); System.out.println(number); } // System.out.println(j); } }
8. Main 메소드
package chap_06; public class _08_MainMethod { 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 메뉴 중 하나를 입력하세요."); } }
'Back end > Java 기본' 카테고리의 다른 글
자바 싱글톤 패턴이란? (0) 2023.11.15 LinkedList를 이용하여 홀수/짝수 return 문제 (0) 2023.11.14 배열 (0) 2023.11.14 Continue (0) 2023.11.14 Break (0) 2023.11.14