목차
- Q1_메서드 오버라이딩이란?
- Q2_메서드 오버로딩이란?
- Q1_메서드 오버라이딩이란?
더보기
A. 메서드 오버라이딩(@Override) : 부모 클래스의 메서드를 자식 클래스로 재정의하여 사용하는 것.
- 상위 클래스 정의 :
// 'Animal'이라는 부모 클래스 정의
class Animal {
// 'sound'라는 메서드를 정의.
// 이 메서드는 동물의 기본 소리를 출력할 수 있게 만들어 공통적으로 사용할 수 있습니다.
public void sound() {
System.out.println("Some sound");
}
} // end of class
- 하위 클래스에서 메서드 오버라이딩 :
// 'Dog'라는 'Animal' 클래스의 자식 클래스 정의
class Dog extends Animal {
// 부모 클래스의 'sound' 메서드를 오버라이딩.
// 이 메서드는 'Dog'가 내는 특정한 소리(짖는 소리)를 출력합니다.
@Override
public void sound() {
System.out.println("Bark");
}
} // end of class
// 'Cat'이라는 'Animal' 클래스의 자식 클래스 정의
class Cat extends Animal {
// 부모 클래스의 'sound' 메서드를 오버라이딩.
// 이 메서드는 'Cat'이 내는 특정한 소리(울음 소리)를 출력합니다.
@Override
public void sound() {
System.out.println("Meow");
}
} // end of class
- Q2_메서드 오버로딩이란?
더보기
A. 메서드 오버로딩(Overloading) : 같은 이름의 메서드가 여러 매개변수를 갖도록 선언해서 다양하게 동작을 구현하는 것.
- 계산하는 클래스 정의 :
// Calculator 클래스 정의
class Calculator {
// 1. 두 정수의 합을 계산하는 메서드
public int add(int a, int b) {
return a + b;
}
// 2. 세 정수의 합을 계산하는 메서드
public int add(int a, int b, int c) {
return a + b + c;
}
// 3. 두 실수의 합을 계산하는 메서드
public double add(double a, double b) {
return a + b;
}
// 4. 정수 배열의 모든 요소의 합을 계산하는 메서드
public int add(int[] numbers) {
int sum = 0;
for (int num : numbers) {
sum += num;
}
return sum;
}
} // end of class
- Main 클래스
// 메인 클래스와 메인 메서드 정의
public class Main {
public static void main(String[] args) {
Calculator calculator = new Calculator();
// 다양한 버전의 'add' 메서드 호출
System.out.println(calculator.add(10, 20)); // 두 정수의 합
System.out.println(calculator.add(10, 20, 30)); // 세 정수의 합
System.out.println(calculator.add(10.5, 20.5)); // 두 실수의 합
System.out.println(calculator.add(new int[]{1, 2, 3, 4, 5})); // 정수 배열의 합
} // end of main
} // end of class
'Java' 카테고리의 다른 글
[Java] 업 캐스팅과 다운 캐스팅 (0) | 2024.03.15 |
---|---|
[Java] 다형성과 클래스 상속 (1) | 2024.03.14 |
[Java] 객체 지향 프로그래밍(OOP) 장, 단점 & SOLID 5가지의 원칙 (1) | 2024.03.14 |
[TIL] 접근 제어 지시자와 정보 은닉 (0) | 2023.12.11 |
[TIL] 로그인에 관한 세션 그리고 JWT 토큰 방식 (0) | 2023.11.18 |