매소드 정의, 매소드명은 주로 동작을 하기 때문에 동사를 사용(동작을 하는 코드들의 묶음), main메소드 위에서 정의

1. 전달값이 있는 메소드 정의(반환값x)

	// 전달값 1개인 메소드 호출
    public static void power(int number){
        int result = number*number;
        System.out.println(number+"의 2승은"+result+"입니다");
    }

    //전달값 2개인 메소드 호출
    public static void powerByExp(int number, int exponent){ //for문이 있어서 제곱에 해당하는 정수값인건지??
        int result = 1; //원하는 값 출력 전 result 변수 선언하기.
        for (int i = 0; i <exponent ; i++) { //2개 이상의 값은 for문 이용하기
            result*=number; //for 반복문에서 필요한 결과 설정
        }
        System.out.println(number+"의"+exponent+"승은"+result+"입니다");
    }
    public static void main(String[] args) {

    power(2);
    powerByExp(2,3);

    }
    
    결과>
    22승은4입니다
	23승은8입니다

전달값이 있는 메소드는 메소드를 호출하고 전달값을 받아서 다시 메인영역 위에서 결과값이 출력되도록 작성하는 듯하다.

void메소드라면 반환값이 없기 때문에 값을 전달받고 출력하도록

2. 반환값이 있는 메소드 정의

void 대신 자료형 변수 타입 선언
**void : 반환값이 없다는 뜻.

   //호텔 전화번호
    public static String getPhoneNumber(){
        return "02-123-4567";
    }
    //호텔 위치
    public static String getAddress(){
        return "서울시 어딘가";
    }
    //호텔 엑티비티
    public static String getActivities(){
        return "수영장, 당구장, 볼링장";
    }

    public static void main(String[] args) { 
    
        //메인영역 밑에서 매소드 호출
        System.out.println("호텔위치 : "+getAddress());
        System.out.println("호텔 전화번호 :"+getPhoneNumber());
        System.out.println("호텔 엑티비티 : "+getActivities());

    }
    
    결과>
    호텔위치 : 서울시 어딘가
	호텔 전화번호 :02-123-4567
	호텔 엑티비티 : 수영장, 당구장, 볼링장

반환값이 있는 메소드는 반환값만 적고, 출력은 메인영역에서 호출되면서 출력되도록 하는 듯..

Q. 메인영역 밑에서 결과 호출하면 에러나는 이유?
Q. 메소드마다 정의할때 이유, 활용방법 알아보기

3. 메소드 오버로딩

조건 : 전달값의 타입이 다르거나 전달값의 갯수가 다를 때 가능
(반환형이 다른 형태에서 동일한 전달값이라도 불가)

서로 다른 메소드 이름을 호출하게 되면 메소드 입장에서 혼란스러울 수 있다. 메소드 오버로딩으로 메소드 이름 동일하게 하기

	//전달값, 반환값이 함께 있는 메소드
    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 void main(String[] args) {
        System.out.println(getPower(2));
        System.out.println(getPower("2"));

✍흐름으로 익힌 나만의 스타일로 정리해보기

[전달값과 반환값이 함께 있는 메소드]
메소드 선언 시 반환값을 가진 메소드 형태 + 전달값을 받는다
결과값을 작성하되 그 값은 메인 메소드로 값을 반환
출력할 때는 반환값을 가진 메소드 형태+ 전달값을 넣는다

0개의 댓글