본문 바로가기
Study/Back

Jul.31.Mon.2023 나도코딩 Java 메소드Method ~ 전달값과 반환값

by Jobsoony 2023. 7. 31.
728x90
반응형

*메소드Method

   > 메소드(Method)란? 동작, 기능하는 코드들의 묶음 ( C언어나 파이썬에서의 함수와 유사 )


   > 메소드 이름은 변수 이름 정하는 방법과 비슷하지만 주로 동사를 사용하며, 한번 정하고 나면 얼마든지 호출 가능.

   > 메소드 정의
     public static void 메소드이름() { // void는 변환값이 없는 메소드일 경우 작성하고, 변환값이 있다면 자료형 입력
     기능하는 코드들
     }

   > 메소드 호출 방법
     메소드이름();





*전달값 Parameter

   > 전달값(매개변수)이란? 메소드가 경우에 따라 어떤 값을 전달해서 그 값을 가지고 내부적으로 수행하는 것


   (예시 1)
  

public static void power(int number) {
	int result = number * number; // 매개변수
	System.out.println(number + “ 의 2 승은 “ + result);
}

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


   (예시 2) 전달값을 2개를 받아 메소드 내 사용

public static void powerByExp(int number, int exponent) {
	int result = 1;
	for (int i = 0; i < exponent; i++) {
		result *= number;
	}
	System.out.println(number + “ 의 ” + exponent + “ 승은 “ + result);
}

public static void main(String[] args) {
	powerByExp(number 2, exponent 3); // 2의 3승은 8
	powerByExp(number 3, exponent 3); // 3의 3승은 27
	powerByExp(number 10, exponent 0); // 10의 0승은 1





*반환값 Return

  > 반환값이란? 메소드를 수행했을 때 메소드에서 어떤 값을 반환해서 호출한 곳에서 반환된 값을 받아서 처리하는 것

           𖤐static 뒤의 void는 반환값이 없을 때 넣으면 되고, 반환값이 있다면 public static 뒤에 반환하려는 자료형, 반환형태를 입력하면 됨.

   (예시) 호텔 정보 관리 프로그램 -> 호텔 전화번호, 주소, 액티비티

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) {
	String contactNumber = getPhoneNumber();
	System.out.println(“호텔 전화번호 : ” + contactNumber); // 호텔전화번호 : 02-1234-5678
	String address = getaddress();
	System.out.println(“호텔 주소 : “ + address); // 호텔 주소 : 서울시 어딘가
	System.out.println(”호텔 액티비티 : “ + getActivities()); // 이렇게 변수 선언없이 그대로 메소드를 입력해서 할 수도 있음 // 호텔 액티비티 : 볼링장, 탁구장, 노래방
}




*전달값과 반환값

   (예시) 전달값과 반환값이 함께 있는 메소드

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 *= number;
	}
	return result;
}

public static void main(String[] args) {
	int retVal = getPower(number 2);
	System.out.println(retVal); // 4 (2 * 2 = 4)

	retVal = getPower(number 3);
	System.out.println(retVal); // 9 (3 * 3 = 9)

	retVal = getPowerByExp(number 3, exponent 3);
	System.out.println(retVal); // 27 (3 * 3 * 3 = 27)

	System.out.println(getPowerByExp(number 2, exponent 4)); // 16 (2 * 2 * 2 * 2 = 16)
}
728x90
반응형