
접근제한자 반환타입 메소드이름 (매개변수타입 매개변수 이름)✏️ 메소드 예제
public class Calculator {
public static int add(int num1, int num2) {
return num1 + num2; // (2) 5,3을 더한 값을 반환
}
public static void main(String[] args) {
int result = add(5, 3); //(1) add 메서드에 int 5, 3을 전달
System.out.println("덧셈 결과: " + result); (3) 반환값 출력
}
}
1. 가시성 (Visibility)
메서드는 가시성을 통해 접근 제어 가능. public, private, protected, default 등의 키워드를 사용하여 메서드에 대한 접근 권한을 지정할 수 있다.
public class MyClass {
// public 메서드
public void publicMethod() {
// 메서드 내용
}
// private 메서드
private void privateMethod() {
// 메서드 내용
}
}
2. 정적 메서드 (Static Method)
정적 메서드는 객체의 인스턴스에 속하지 않고 클래스에 속해있고, 클래스 이름을 통해 직접 호출 가능.
public class MathOperations {
public static int add(int a, int b) {
//static 사용으로 객체를 생성하지 않아도 바로 사용 가능.
return a + b;
}
}
// 정적 메서드 호출
int result = MathOperations.add(3, 5);
3. 가변인자 (Varargs)
가변인자를 사용하여 동적으로 인자를 받을 수 있으며, 메서드 내에서 사용가능.
public class VariableArguments {
public static int sum(int... numbers) {
int result = 0;
for (int num : numbers) {
result += num;
}
return result;
}
}
// 가변인자를 이용한 메서드 호출
int total = VariableArguments.sum(1, 2, 3, 4, 5);
4. 반환값 (Return Value)
실행 결과로 값을 반환할 수 있으며 반환 값이 없을 경우엔 void로 나타낸다.
반환이 있다면 return 사용.
public class Example {
public int multiply(int a, int b) {
return a * b;
//입력받은 a,b를 곱해서 반환한다.
}
}
5. 다형성
public class OverloadingExample {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
public class Parent {
public void display() {
System.out.println("부모입니다.");
}
}
public class Child extends Parent {
@Override
public void display() { //부모와 같은 메서드의 이름 사용, 내용을 재 정의.
System.out.println("재정의합니다.");
}
}
기본적으로 함수는 언어의 일부로 독립적으로 존재하며, 메서드는 클래스 또는 객체에 종속된 함수를 의미한다.
다음화는 언제 올라오나요??