메소드 오버로딩
위에서 사용된 max 메소드는 int형 데이터에만 적용 가능합니다. 하지만 두 가지 부동 소수점 데이터 유형의 최대값을 얻으려면 어떻게 해야 할까요?
해결책은 다음 코드와 같이 이름은 같지만 매개변수가 다른 다른 메소드를 생성하는 것입니다.
public static double max(double num1, double num2) { if (num1 > num2) return num1; else return num2; }
max 메소드를 호출할 때 int 매개변수를 전달하는 경우, 그런 다음 int 유형 매개변수의 max 메소드가 호출됩니다.
double 유형 매개변수가 전달되면 메소드 오버로딩이라고 하는 double 유형 max 메소드 본문이 호출됩니다. 이름은 같지만 매개변수 목록이 다릅니다.
Java 컴파일러는 메소드 서명을 기반으로 어떤 메소드를 호출해야 하는지 결정합니다.
메서드 오버로딩을 사용하면 프로그램을 더 명확하고 읽기 쉽게 만들 수 있습니다. 밀접하게 관련된 작업을 수행하는 메서드는 동일한 이름을 사용해야 합니다.
오버로드된 메서드에는 다른 매개변수 목록이 있어야 합니다. 수정자 또는 반환 유형만을 기반으로 메서드를 오버로드할 수 없습니다.
변수 범위
변수의 범위는 변수가 참조될 수 있는 프로그램의 일부입니다.
메서드 내에서 정의된 변수를 지역 변수라고 합니다.
지역 변수의 범위는 선언부터 시작하여 이를 포함하는 블록의 끝에서 끝납니다.
지역 변수를 사용하려면 먼저 선언해야 합니다.
메서드의 매개변수 범위는 전체 메서드를 포괄합니다. 매개변수는 실제로 지역 변수입니다.
for 루프의 초기화 부분에서 선언된 변수는 루프 전체에 걸쳐 범위를 갖습니다.
단, 루프 본문에 선언된 변수의 적용 범위는 해당 선언부터 루프 본문 끝까지입니다. 여기에는 아래와 같은 변수 선언이 포함되어 있습니다.