ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 메소드
    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
Designed by Tistory.