일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Overloading
- memory
- Binary
- wpf
- compare
- public
- inheritance
- Read
- APP
- Encapusulation
- file access
- digitalRead
- parameter
- SERIAL
- atmega328
- java
- Android
- flutter
- preprocessing
- length
- mfc
- Class
- Contour
- sensor
- Unity
- Barcode
- aduino
- stream
- Pointer
- UNO
- Today
- Total
폴크(FOLC)
JAVA 오버로딩/오버라이딩 본문
# 오버로딩 ( overloading )
> 함수의 이름을 동일(중복)하게 정의 하는것 ( 객체지향 - 다형성 )
> 함수의 이름은 1개만 선언 가능하지만 시그니처가 다르면 가능
- 시그니처 : 함수 선언부에 명시되어 있는 매개변수 리스트
-> 함수 이름의 종류를 최소화 하여 생성 가능
-> 함수 호출시에 매개변수나 타입을 신경쓰지 않고 호출 가능
# 조건
> 함수 이름이 같아야 한다.
> 매개변수 개수와 타입이 달라야 한다.
- 반환 타입이 다르더라도 시그니처가 같다면 정의 할 수 없다.
# 소스 코드
public class TEST
{
public int SUM(int a, int b)
{
return (a + b);
}
public float SUM(float a, float b)
{
return (a + b);
}
}
public class TEST_FUNCTION
{
public static void main(String[] args)
{
TEST tt;
tt.SUM(10, 20); // 정수형
tt.SUM(10.0, 20.0); // 실수형
}
}
# 오버라이딩 ( overriding )
> 상속 관계에서 부모 클래스에 정의된 함수를 자식 클래스에서 다시 정의 하는것 ( 객체지향 - 다형성 )
-> 자식 클래스는 부모 클래스의 정보를 상속 받음 ( private 멤버 제외 )
-> 자식 클래스는 상속 받은 함수 그대로 사용해도 되고 필요한 함수만 다시 정의 가능
# 조건
> 함수의 내용만을 다시 정의 하는 것이므로, 선언부는 그대로 사용해야 한다.
- 반환 타입은 형 변환이 가능하다면 변경 가능
> 함수에 설정된 접근 지정 제어자를 더 작은 범위로 변경 할 수 없다.
> 함수에 설정된 예외 범위를 더 크게 변경 할 수 없다.
# 소스 코드
public class TEST
{
public show_data()
{
return System.out.println("TEST 메소드!");
}
}
public class TEST_sub extends TEST
{
public show_data()
{
return System.out.println("TEST sub 메소드!");
}
}
public class TEST_FUNCTION
{
public static void main(String[] args)
{
TEST tt = new TEST;
tt.show_data(); // TEST 메소드!
TEST_sub tt_sub = new TEST_sub;
tt_sub.show_data(); // TEST sub 메소드!
TEST tt2 = new TEST_sub;
tt2.show_data(); // TEST sub 메소드!
}
}
'교육 관련 > JAVA' 카테고리의 다른 글
JAVA 제어자 (0) | 2022.05.11 |
---|---|
JAVA 생성자 및 this (0) | 2022.04.08 |
JAVA 클래스 (0) | 2022.04.07 |
JAVA 함수 특징 (0) | 2022.03.19 |
JAVA 파일 연동 (0) | 2022.03.15 |