본문 바로가기

수업 복습하기/Java

Day 08 - 메서드 Method

728x90
728x90

= 메서드(method)

- 메서드는 반복되는 코드 블록에 붙인 이름으로, 반복되는 코드를 줄여주면서, 우리가 코드를 알아보기에 조금 더 쉽게 만들어줍니다.

- 객체지향프로그래밍에서 메서드는 '객체가 가져야할 기능을 구현하기 위해 만든다'라고 표현하기도 합니다.

- 메서드의 이름 뒤에는 반드시 소괄호'()'가 따라 나와야 합니다.

-메서드는 메서드 내부에 만들 수 없기 때문에, main안에서도 사용 불가(main도 매서드의 종류 중 하나)

-class의 안 어느 위치에서든 선언 가능합니다.

 

- 메서드 선언 방법

< 반환 유형 = 타입> < 메서드 식별자 이름 = 메서드의 이름> (매개 변수=입력변수) {
           기능 상세;
}

 

 

= 탈출문 (Return)

- return문은 메서드의 실행을 끝내고 결과 값을 호출된 부분에 반환하는 문장입니다.

- return문만 단독으로 사용했을 때는 호출된 곳으로 제어만 넘어가지만,

return문 뒤에 연산식과 함께 사용되면 식의 결과 값과 제어가 함께 넘어갑니다.

 

메서드와 친해지기 위해서 예시문제 몇개를 풀고 넘어가보도록 해봅시다.

 

- int형 예제

우리가 평소에 구하던 1~10까지의 합 구하는 식을 써봅시다.

int sum = 0;
	for(int i = 1;i<=10;i++) {
      	sum+=i;
        }
    System.out.println("1~10까지 합 :"+sum);

이 식은 당연히 main안에 위치해 있습니다. 하지만 매서드는 매서드 내에 위치가 불가하기 때문에 main밖으로 꺼내와야합니다.

그러기 위해서는 class안에 위치하면서 main의 밖에 위치 해야하니. class{main{}}에서 class{} 여기에 위치해야합니다.

class{}에 위치할 때 들어가야 하는 형식으로 작성해보자면,

static int calSum() {
	int sum = 0;
	for(int i = 1;i<=10;i++) {
		sum+=i;
		}
	return sum; //반환

위와 같은 형태가 나옵니다.

평소와 다른부분을 확인해보자면,

calsum같은 경우에는, 내가 지어준 이 매서드의 이름이고, 마지막에 return sum이 있죠.

반환을 하면, main안에 우리가 적어줄 출력문을 실행시키는 것이기 때문입니다.

프로그램 실행시킬 때에는,  main 내에 있는 것들만 실행시키기로 되어있기 때문에,

return한 값을 나타내기에는 main에 추가적으로 출력문을 적어주어야 합니다.

적어주는 방법은 2개가 있는데,

1.
System.out.println("1~10까지의 합 :"+calSum());
    
2.
int sum=calSum(); //호출 //반환이 있는 메서드는 결과를 받아서 사용할 수 있다.
System.out.println("결과:"+sum);

출력값

1~10까지 합 :55
결과:55

 

- String 형 예제

static String randomStr() {
	String str ="";
	for(char c = 'A'; c<='Z';c++) {
		str+=c;
		}
	return str;
}

- main 내에 적을 실행문

String str = randomStr();
	System.out.println("결과:"+str);

중요한 부분은 타입에 대해서, 항상 신중히 고려 하고 진행해야 한다는 것이다.

출력값

결과:ABCDEFGHIJKLMNOPQRSTUVWXYZ

- char 형 예제

 

	static char randomStr2()	{
		char c = 0;
		double d = Math.random();	//0~1미만
		if(d>0.66) {
//			c='A';
			return 'A';
		} else if(d>0.33){
//			c='B';
			return 'B';
		} else {
//			c='C';
			return 'C';
		}
//			return c;//반환 호출할 때는 메서드 이름만 확인.
	}

- main 내에 적을 실행문

	char c = randomStr2();
	System.out.println("결과:"+c);

출력값 같은 경우에는, 매 번 실행 시킬때 마다 다르게 나오기 떄문에,

결과에 A,B,C가 돌아가면서 잘 나온다면 실행이 잘 되고있다는 뜻이다.

728x90