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 |