Java - 07

하승·2022년 7월 11일
0

웹 개발반 - Java

목록 보기
7/19
post-thumbnail

메소드

이름 뒤에 소괄호
단, 키워드 뒤에 ()는 메소드가 아니다.
특정한 작업을 하기 위한 로직을 따로 분리하여 관리하는 영역

f	(x) = 	2x+1
메소드	매개	리턴값
이름	변수

메소드 구조

①리턴타입 ②메소드명(③자료형 매개변수, 자료형 매개변수, ...){
	④호출시 실행할 문장;
	⑤return 리턴값;
}

① return 뒤의 값에 타입에 맞는 자료형을 작성해준다. 리턴값이 없을 때에는 void로 작성한다.
② 동사형으로 작성한다. eat("밥") eat("피자") eat("치킨")
③ 생략 가능하다. 하지만 생략시에는 외부(사용하는 곳)에서 값을 전달받을 수 
없고, 여러 값들을 전달받아야 할 때에는 ,로 구분하여 값의 갯수만큼 선언해준다.
④ 생략 가능하다.
⑤ 생략 가능하다.

메소드 선언 순서

(두 정수의 덧셈 메소드)

1. 메소드 명을 생각한다.
	void add(){
	
	}
2. 매개변수를 생각한다.
	void add(int num1, int num2){
	
	}
3. 실행할 문장을 생각한다.
	void add(int num1, int num2){
		System.out.println("두 정수의 덧셈메소드");
		int result = num1+num2;
	}
4. 리턴값을 생각한다.
	void add(int num1, int num2){
		System.out.println("두 정수의 덧셈메소드");
		int result = num1+num2;
		return result;
	}
5. 리턴타입을 수정한다.
	int add(int num1, int num2){
		System.out.println("두 정수의 덧셈메소드");
		int result = num1+num2;
		return result;
	}

메소드 사용

메소드는 클래스 내부에 있으므로 그 메소드가 속해있는 클래스 타입으로
먼저 변수를 만들어 주어야 한다.(객체를 만들어 주어야 한다.)

클래스명 변수명 = new 클래스명();

변수.메소드명(값1,값2,...);	//매개변수의 개수와 타입에 맞게 값을 넘겨주어야한다.
변수.메소드명();		//매개변수가 없다면 그대로 이름으로 사용

메소드 사용 부분은 선언부 마지막에 return값이 있다면 사용한 부분 통째로 그 리턴값으로
보아야 한다. 단, return값이 없다면 절대 값으로 봐서는 안된다.

리턴을 사용해야 할 때

메소든 내부에 모든 기능이 구현되지 않을 때
사용하는 부분에서 아직 할 작업이 남았을 때
메소드 기능의 결과를 사용하는 부분에 알려주어야 할 때

ex)

  MethodTask m = new MethodTask();
  System.out.println(m.hab(4, 14));
  
 //n부터 m까지의 합을 구해주는 메소드
int hab(int ny, int my) {
		int nm =0;
		for (int i = ny; i <=my; i++) {
			nm += i;
		}
		return nm;
	}

실행 결과

리턴을 사용하지 않아도 될 때

메소드 내부에서 출력까지 모든 기능이 구현될 때

ex)

//1~10까지 출력해주는 메소드
void print1Num10() {
		for (int i = 1; i <= 10; i++) {
			System.out.println(i);
		}
	}

실행 결과

profile
화이팅!

0개의 댓글