article thumbnail image
Published 2022. 9. 24. 17:47
728x90

■ 메서드(method)

객체의 행위를 표현하기 위한 것

기능을 수행하기 위해 클래스 안에서 정의되는 것

유지보수 편리

코드를 줄일 수 있다.

 

함수

f(x) (function)

매개변수 -> 메서드 로직 -> 리턴값

      3                f(x)=2x            6

메인 밖에다 만든다

public static int sum( int a, int b){
	int result = a+b;
    return result;
}
public static void main(String[] args){
	sum(5,10);
}

public(공공의) :접근 제한자 - 누가 나한테 접근 할 수 있는지 권한을 주는 기능

static : 저장소

int(자료형) : 리턴 타입 결과값의 데이터 타입이 뭔지에 대해 명시하는 곳( 결과값으로 int로 돌려준다 )

sum : 메서드명 어떤 이름으로 호출/사용 할 것인지 명시하는 곳(변수명(호출명)과 비슷하다)

(int a, int b) : 매개변수 선언 (메서드 안에서 사용되는 변수)== 파라미터

{

int result = a+b;

return result;

}

자료형(int)이 리턴타입에 명시 되어있으면  return이 꼭 붙어야함

실행하고 싶으면 메인 메서드에서 실행한다.

(5,10) : 전달인자(arguments)

매개변수 와 전달인자의 수 는 같아야한다!

전달인자 -> 매개변수 -> 결과값 -> 리턴값 -> 메서드명 ->메인 메서드

 

메서드 설명코드

package 메서드;

public class ex01메서드 {

	public static void main(String[] args) {
		
		// 내가 만든 메서드를 실행시키는 곳
		sum(1,2);
		sum(5,7);
		sum(123,723);
		sum(532,754);
		sum(535,798);
		sum(522,711);		
	}
	// 메서드는 main밖
	
	// 메서드를 작성하는 부분
	
	public static void sum(int num1, int num2) {
		// return num1 + num2;
		// 리턴타입이 없는경우
		// void : 기능을 돌려줄때 사용
		// : 출력/반복등
        // main에 있는 코드는 손대지않고 +10이 된 결과값을 출력하게 만들어보자	
		System.out.println(num1+num2+10);
		// 메서드의 구조
		// 1) public : 접근 제한자
		// (클래스 내/외부에서 접근할 수 있도론 하는 접근 제한자)
		// 2) static : 저장소(공용 저장공간/ 매우 작은 공간)
		// 3) int : 리턴타입(돌려주는 결과값의 데이터 타입)
		// ex)int, String, char, boolean, long....
		// 단, 리턴타입에 자료형이 명시되어있으면 return이라는 키워드 꼭 넣어주기!
		// 4) sum : 메서드명(호출명)
		// 5) (int num1, int num2) : 매개변수(parameter)
		// 메서드 안에서 사용 될 변수, main으로 부터 받아온 값
	}

}

리턴타입 있고 매개변수 있는 예제

package 메서드;

public class ex02매o리o {

	public static void main(String[] args) {
		// 메서드 호출하는 곳
		add(2,4);
		// 값은 받아오기만 한 상태
		
		// 출력문에 넣어야 어떤 값을 가지고 돌아왔는지 확인 할 수 있다.
		System.out.println(add(2,4));
	}
	
	// main 밖
	
	// 메서드 만드는 곳
	public static int add(int a, int b) {
		return a+b;
	}
	
}

매개변수 있고 리턴타입 없는 예제

package 메서드;

public class ex03매o리x {

	public static void main(String[] args) {
		
		// System.out.println(printadd(2,4));
		// 출력하는 기능을 출력하는 방법은 불가능
		printadd(2,4);
		// printadd는 출력하는 기능도 포함되어있어서
		// 따로 출력문으로 감싸지 않아도 콘솔창에 결과값을 확인 할 수 있다.
	}
	
	//매서드 : printadd
	public static void printadd(int a, int b) {
		// void가 리턴타입으로 왔을때,
		// return 키워드 오지 않는다.
		// void - 기능 자체를 가지고 있는 메서드
		System.out.println(a+b);
	}
}

매개변수 없고 리턴타입이 있는 예제

package 메서드;

public class ex04매x리o {

	public static void main(String[] args) {
		
		// 내 이름을 돌려주는 메서드
		// getName()
		System.out.println(getName());
		
	}
	
	public static String getName() {
		return "박동명";
	}

}

매개변수 없고 리턴타입 없는 예제 

package 메서드;

public class ex05매x리x {

	public static void main(String[] args) {
		
		// 매개변수x, 리턴타입x
		// todayWeather() -> "오늘 광주는 하루종일 맑음"을 출력
		todayWeather();
	}
	
	public static void todayWeather() {
		System.out.println("오늘 광주는 하루종일 맑음");
	}

}

덧셈,뺄셈,나눗셈,곱셈이 가능한 메서드를 작성해보자.

package 메서드;

public class ex06메서드 {

	public static void main(String[] args) {
		
		add(3,5);
		sub(3,5);
		mul(3,5);
		div(3,5);		
		
	}
	
	public static void add(int a, int b) {
		System.out.println(a+b);
	}
	
	public static void sub(int a, int b) {
		System.out.println(a-b);
	}
	
	public static void mul(int a, int b) {
		System.out.println(a*b);
	}
	
	public static void div(int a, int b) {
		System.out.println(a/b);
	}
}

예제) 2개의 양수를 받아 2개의 숫자 중 더 큰 수를 반환하는 메소드 lagerNumber()을 만들어 보세요

(만약 두 숫자가 같다면 0을 반환)

실습 코드

package 메서드;

public class ex07메서드 {

	public static void main(String[] args) {
		
		int num1 = 10;
		int num2 = 10;
		int result = largerNumber(num1,num2);
		System.out.println("큰 수 확인 : "+result);
		
	}
	
	public static int largerNumber(int num1, int num2) {
		
		int largerNumber = 0;
		if(num1>num2) {
			largerNumber = num1;
		}else if(num1<num2) {
			largerNumber = num2;
		}else {
			largerNumber = 0;
		}
		
		return largerNumber;
	}

}

정답화면

package 메서드;

public class ex07메서드 {

	public static void main(String[] args) {
		
		int num1 = 11;
		int num2 = 10;
		int result = largerNumber(num1,num2);
		System.out.println("큰 수 확인 : "+result);
		
	}
	
	// largerNumber
	public static int largerNumber(int num1, int num2) {
		
		
		if(num1>num2) {
			return num1;
		}else if(num1<num2) {
			return num2;
		}else {
			return 0;
		}
		
		
	}

}

 

ps.객체지향 배우기 기본인 메서드를 잘 배워서 JDBC까지 잘 할수 있도록 복습하자!

728x90

'Study > JAVA' 카테고리의 다른 글

JAVA기초 11일차 <객체지향>  (1) 2022.09.24
JAVA기초 10일차 <메서드>  (0) 2022.09.24
JAVA기초 8일차 <이차원 배열>  (1) 2022.09.24
JAVA 기초 7일차 <배열>  (1) 2022.09.21
JAVA 기초 6일차 <배열>  (0) 2022.09.19
복사했습니다!