메서드 : 메서드도 함수의 한 종류
publici static int add(int a, int b){
int sum = a + b;
return sum;
}
: 메서드를 사용하면 중복이 제거되고 코드가 깔끔해짐
메서드 선언과 메서드 본문
- 메서드 선언 : 메서드의 이름, 반환 타입, 매개변수(파라미터) 목록을 포함함
public static int add(int a, int b)
- public : 다른 클래스에서 호출 할 수 있음
- static : 객체를 생성하지 않고 호출할 수 있는 정적 메서드
- int : 반환 타입
- add : 메서드의 이름 부여
- (int a, int b) : 메서드를 호출할 때 전달하는 입력 값으로 메서드 내에서만 사용됨
제어자 반환타입 메서드이름 (매개변수 목록) {
메서드 본문
}
- 제어자 : public, static 등
- 반환 타입 : 메서드가 실행된 후 반환하는 데이터의 타입. 값을 반환하지 않는 경우 void 사용
- 메서드 이름
- 매개변수 : 입력 값으로 메서드 내부에서 사용할 수 있는 변수로 입력값이 필요 없는 메서드는 매개변수를 지정하지 않아도 됨
- 메서드 본문
- 메서드 본문 : 메서드가 수행해야 하는 코드 블록. 블랙박스로 메서드를 호출하는 곳에서는 메서드 선언은 알지만 본문은 알 수 없음. 실행 결과를 반환하려면 return 문을 사용해야함.
매서드 호출 : 정의된 메서드를 호출해서 실행하려면 메서드 입력에 입력 값(인수ㅖ을 전달하면 됨. 보통 메서드를 호출한다고 표현함.
int sum1 = add(5,10);
int sum2 = add(15,20);
자바는 항상 변수의 값을 복사해서 대입함. 이는 자바에서 아주 중요한 대원칙 중 하나임. 복사한다는 것은 대입하는 값은 유지되고 대입하는 곳에 값을 복사한다는 개념임.
메서드와 형변환
: 메서드를 호출할 때도 형변환이 적용됨. 메서드를 호출하는데 인자와 매개변수의 타입이 다르면 명시적 형변환을 해주어야 함 아니면 컴파일 에러가 발생함. 작은범위에서 큰 범위면 자동 형변환도 적용됨.
메서드 오버로딩
: 자바는 메서드의 이름 뿐만 아니라 매개변수 정보를 함께 사용해서 메서드를 구분하기 때문에, 이름이 같고 매개변수가 다른 메서드도 정의할 수 있음
add(int a, int b)
add(int a, int b, int c)
add(double a, double b)
메서드 오버로딩 규칙
- 메서드의 이름이 같아도 매개변수의 타입과 순서가 다르면 오버로딩 가능, 참고로 반환 타입은 인정하지 않음 즉, 메서드 이름과 매개변수가 동일한데 반환타입만 다르다고 해서 오버로딩이 되지 않음. 그렇게는 선언 불가
메서드 시그니처
: 자바에서 메서드를 구분할 수 있는 고유한 식별자나 서명을 말함. 메서드 시그니처는 메서드의 이름과 매개변수 타입으로 구성되어 있음. 쉽게 말해 메서드를 구분할 수 있는 기준임.
'PS > Java' 카테고리의 다른 글
[ JAVA ] 자바 입문 - 변수 (0) | 2025.07.07 |
---|---|
[ JAVA ] 자바란? - JDK, 컴파일&실행, IDE, (0) | 2025.07.07 |
[ JAVA ] 기본 문법 - 배열 (0) | 2024.10.19 |
[ JAVA ] 기본 문법 - Scanner (0) | 2024.10.19 |
[ JAVA ] 기본 문법 - 스코프(변수의 접근 가능한 범위), 형변환 (0) | 2024.10.19 |