개발/부트캠프

(토요일)주말에도 쓰는 TIL : JAVA 기초 유튜브 강의 수강_chap06_01-08(feat. 무료 강의 완강!)

EJ EJ 2025. 1. 4. 23:18

<Chapter06>
01. 메소드 (7:19:24)
02. 전달값 (7:25:58)

03. 반환값 (7:35:39)

04. 전달값과 반환값 (7:44:00)

05. 메소드 오버로딩 (7:52:45)

06. 메소드가 필요한 이유 (8:00:26)

07. 변수의 범위 (8:08:22)

08. Main 메소드 (8:13:34)

<퀴즈 #6> (8:23:00)

 

메소드(=함수)

public class _01_Method {
    // 메소드 : 어떤 기능을 하는 코드들의 묶음
    public static void sayhello() {
        System.out.println("안녕하세요! 메소드입니다.");
    }

    public static void main(String[] args) {
        System.out.println("메소드 호출 전");
        sayhello();
        System.out.println("메소드 호출 후");
    }
}

 

전달값(=파라미터, 매개변수)

public class _02_Parameter  {
    // 전달값(=파라미터, 매개변수)가 있는 메소드

    public static void power(int number) {
        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 = result * number;
        }
        System.out.println(number + " 의 " + exponent + " 승은 " + result);
    }

    public static void main(String[] args) {
      power(2); // 2 의 2 승은 4
      powerByExp(2, 3); // 2 의 3 승은 8
    }
}

 

반환값(=리턴)

public class _03_Return {
    //호텔 주소
    public static String getadd() {
        String add = "서울시 금천구 가산동";
        return add;
    }

    // 호텔 연락처
    public static String gettel() {
        return "02-1234-5678";
    }

    // 호텔 액티비티
    public static String getAct() {
        return "볼링장, 헬스장, 수영장";
    }

    // 호텔 우편번호
    public static Integer getNumAdd() {
        return 34938;
    }

    public static void main(String[] args) {
        // 반환값(Return)
        String requestAdd = getadd();
        System.out.println("호텔 주소 : " + requestAdd);

        String requestTel = gettel();
        System.out.println("호텔 연락처 : " + requestTel);

        System.out.println("호텔 액티비티 : " + getAct());

       System.out.println("호텔 우편번호 : " + getNumAdd());
       // Integer request1 = getNumAdd();
        // System.out.println("호텔 우편번호 : " + request1));
    }
}

 

전달값과 반환값

public class _04_ParameterAndReturn {
    // 매개변수와 리턴값이 있는 메소드
    public static int getPowerByExp(int number, int exponent) {
        int result = 1;
        for (int i = 0; i < exponent; i++) {
            result *= number;
        }
        return result;
    }


    public static void main(String[] args) {
        int retVal = getPowerByExp(3, 3);
        System.out.println(retVal); // 3*3*3=27

        System.out.println(getPowerByExp(2, 4)); // 2*2*2*2=16
    }
}

 

메소드 오버로딩

public class _05_Overloading {
    // 메소드 오버로딩 :
    // 같은 이름의 메소드를 여러 번 선언 가능하다.
    // 매개변수의 자료형과 갯수가 다르면 중복 선언 가능!
    // 단, 반환자료형이 다르게는 중복 선언 불가능!
    public static int getPower(int number) {
        int result = number * number;
        return result;
    }

    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;
        for (int i = 0; i < exponent; i++) {
            result *= number;
        }
        return result;
    }

        public static void main (String[] args) {
            System.out.println(getPower(3));
            System.out.println(getPower("4"));
            System.out.println(getPower(2, 2));
        }
    }

 

메소드가 필요한 이유

메소드에서 다른 메소드를 호출할 수 있다.

 

변수의 범위

지역변수 : 변수를 선언한 { }내에서만 해당 변수 사용 가능하다.

 

<퀴즈6>

문제:

개인 정보 중 일부를 비공개로 전환하는 프로그램을 작성하시오.

 

조건:

-개인 정보를 비공개로 전환하는 메소드 작성

-하나의 메소드에서 모든 동작 처리

-각 정보는 아래 위치부터 비공개 적용

이름) 2번째 글자

주민등록번호) 9번째 글자

전화번호) 10번째 글자

 

실행결과:

 

👉🏻 정답(소스코드 / 직접 작성)

public class _Quiz_06 {
    public static String getHiddenData(String info, int num) {
        String result = info.substring(0, num);
        for (int i = 0; i < info.length() - num; i++) {
            result = result + "*";     // result += "*";
        }
        return result;
    }

    public static void main(String[] args) {
        String name = "나코딩";
        String id = "990130-1234567";
        String phone = "010-1234-5678";

        System.out.println("이름 : " + getHiddenData(name, 1));
        System.out.println("주민등록번호 : " + getHiddenData(id, 8));
        System.out.println("전화번호 : " + getHiddenData(phone, 9));
    }
}