메소드 선언부(signature)
- 리턴 타입 : 메소드가 리턴하는 결과의 타입 표시
- 메소드 이름: 메소드의 기능 드러나도록 식별자 규칙에 맞게 이름지음
- 매개 변수 선언 : 메소드 실행할때 필요한 데이터 받기 위한 변수 선언
- 메소드 실행 블록 : 실행할 코드 작성
리턴문
- 메소드를 실행 후의 결과값의 타입
- 리턴 값 없을 수도 있음(void)
- 리턴값 있는 경우 리턴 타입이 선언부 명시
매개 변수 선언
- 메소드 실행에 필요한 데이터를 외부에서 받아 저장할 목적
리턴값이 있는 메소드
- 메소드 선언에 리턴 있는 메소드는 리턴문 사용하여 리턴값 지정
void : 리턴값이 없는 메소드
- void 선언된 메소드에서 return문 사용하면 메소드 실행 강제
★ 메소드호출 ★
- 클래스 내외부의 호출에 의해 메소드 실행
- 내부의 경우 : 메소드 이름 호출
- 외부의 경우 : 클래스부터 객체 생성한 뒤 참조 변수사용하여 메소드호출
객체 내부에서 호출
- 메소드가 리턴값 없거나(void) 있어도 받고 싶지 않은경우
- 리턴값 있는 메소드 호출하고 리턴값 받고 싶은 경우
public class ClassName{ // ClassName 클래스 생성
int method1(int x, int y){
int result = x + y;
return result;
}
void method2(){
int result1 = method1(10,20); // result1 30 값 저장
double result2 = method1(10,20); // result2 30.0값 저장
}
}
객체 외부에서 호출
- 우선 클래스로부터 객체 생성
클래스 참조변수 = new 클래스(매개값,...);
- 참조 변수와 도트 연산자 사용하여 메소드 호출
참조변수.메소드(매개값,...); // 리턴값이 없거나, 있어도 리턴값 받지 않을경우
타입변수 = 참조변수.매소드(매개값,...); // 리턴값이 있고, 리턴값을 받고 싶을 경우
---------------------------------------------------------------------------------
Car myCar = new Car(); //객체 생성
myCar.keyTurnOn(); //타입변수. 변수명
myCar.run();//타입변수. 변수명
int speed = myCar.getSpeed(); //getSpeed 메소드 리턴값을 speen(int타입) 대입
메소드 오버로딩
- 같은 이름의 메소드를 여러 개 선언
- 매개값을 다양하게 받아 처리할 수 있도록 하기 위함
- 매개 변수의 타입, 개수, 순서 중 하나 달라야함
- 매개변수의 타입, 개수 순서 같은 경우 매개변수 이름 달라도 메소드 오버로딩 아님에 주위!
int plus(int x, int y){
int result = x + y;
return result;
}
double plus(double x, double y){
double result = x + y;
return result;
}
'이론 > 자바' 카테고리의 다른 글
[Java] TreeMap (0) | 2024.09.04 |
---|---|
[Java] HashMap (2) | 2024.09.04 |
[Java]TreeSet (0) | 2024.09.04 |
[Java] HashSet (0) | 2024.09.04 |
[Java] 자바 컬렉션 프레임워크(List, Set, Map) (0) | 2024.09.04 |