// 전달값 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);
}
결과>
2의 2승은4입니다
2의3승은8입니다
전달값이 있는 메소드는 메소드를 호출하고 전달값을 받아서 다시 메인영역 위에서 결과값이 출력되도록 작성하는 듯하다.
void메소드라면 반환값이 없기 때문에 값을 전달받고 출력하도록
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. 메소드마다 정의할때 이유, 활용방법 알아보기
조건 : 전달값의 타입
이 다르거나 전달값의 갯수
가 다를 때 가능
(반환형이 다른 형태에서 동일한 전달값이라도 불가)
서로 다른 메소드 이름을 호출하게 되면 메소드 입장에서 혼란스러울 수 있다. 메소드 오버로딩으로 메소드 이름 동일하게 하기
//전달값, 반환값이 함께 있는 메소드
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"));
✍흐름으로 익힌 나만의 스타일로 정리해보기
[전달값과 반환값이 함께 있는 메소드]
메소드 선언 시 반환값을 가진 메소드 형태 + 전달값을 받는다
결과값을 작성하되 그 값은 메인 메소드로 값을 반환
출력할 때는 반환값을 가진 메소드 형태+ 전달값을 넣는다