자바

[자바]메소드(Method)란?

취준생코린이 2021. 4. 16. 17:03
728x90

○ 메소드(Method)

 - 객체를 행위로 표현

 - 반복적으로 사용되는 코드 최소화

 - 어떤 작업을 수행하기 위한 명령문의 집합

 

○ 메소드의 기본구조

접근제한자 리턴타입 메소드이름(매개변수){

    실행문장1

    실행문장2

    return (반환값)

}

 

리턴값이 없을경우는 리턴타입에 void를 쓴다.

 

ex)

	public int add(int num1, int num2){

	    int result = num1 + num2;

	    return result;

	}

 

메소드의 기본구조 - 리턴타입

 - 메소드의 수행결과를 어떤 타입(자료형)으로 반환할 것인지 알려주는것

 - 아무것도 반환하지 않을 결우 리턴타입 대신 void를 사용한다

- 메소드가 결과값을 반환하는 경우 반드시 return문을 사용하여 메소드의 리턴타입에 맞는 결과값을 지정해야한다.

 

○ 메소드의 종류

매개변수 O
반환값 O
매개변수 O
반환값 X
매개변수 X
반환값 O
매개변수 X
반환값 X

1. 매개변수 O 변환값 O

public int add(int num1, int num2){

	    int result = num1 + num2;

	    return result;

	}

2. 매개변수 O 변환값 X

public void add(int num1, int num2){

	    int result = num1 + num2;

	    System.out.println(result);

	}

3. 매개변수 X 변환값 O

public int add(){

	    int result = 45;

	    return result;

	}

4. 매개변수 X 변환값 X

public void add(){

	    System.out.println("프러그램이 종료되었습니다.")

	}

 

○ 메소드 오버로딩

- 메소드의 이름은 하나만 주고 매개변수를 다르게 함으로써 메소드를 여러개 만드는 기법

- 오버로딩 메소드의 구별은 매개변수의 개수 및 매개변수의 데이터 타입으로 구분한다.

 

○ 메소드 오버로딩의 조건

- 메소드 이름이 같아야한다

- 매개변수의 개수 또는 타입이 달라야한다

- 매개변수는 같고 리턴타입이 다른경우는 오버로딩이 아니다

 

○ 오버로딩의 장점

- 메소드 이름의 낭비 방지

- 같은 메소드에 여러 종류의 매개변수를 받을 수 있다.

 

public class Ex01메소드오버로딩 {

	public static void main(String[] args) {
//		오버로딩 : 하나의 기능으로 여러개의 데이터 처리를 해줄 수 있게 도와주는 기능
//		메소드 오버로딩 조건
//		1. 메소드의 이름이 같아야함
		print(1);
		print("문자3");
		print(1, 3);
	}

	private static void print(int i, int j) {
		System.out.println("더하기 출력 " + (i+j));
	}

	private static void print(String string) {
		System.out.println("문자열 출력 " + string);		
	}

	private static void print(int i) {
		System.out.println("숫자 하나를 출력 " + i);
	}

}

 

728x90

'자바' 카테고리의 다른 글

[자바]객체 정의 (붕어빵)  (0) 2021.04.22
[자바]배열 Collection  (0) 2021.04.20
[자바]2차원 배열  (0) 2021.04.16
[자바]for-each문이란  (0) 2021.04.16
배열 실습문제  (0) 2021.04.15