Notice
Recent Posts
Recent Comments
Link
160x600
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
Tags
- 데이터 수집
- 예측
- 정확도
- sklearn
- 시각화
- 데이터 가공
- Oracle
- 회귀모델
- keras
- Deep Learning
- pythone
- Database
- DB
- 파싱 오류
- sql
- 데이터 분석
- 오라클
- 훈련
- HeidiSQL
- MariaDB
- 데이터
- tensorflow
- python기초
- 머신러닝
- 데이터전처리
- 데이터베이스
- python
- pandas
- 해석
- 딥러닝
Archives
- Today
- Total
코딩헤딩
메소드 오버로딩 vs 오버라이딩 본문
728x90
* 요약
항목 | 오버로딩 | 오버라이딩 |
정의 | 같은 이름, 다른 매개변수 | 부모 메소드 재정의 |
시점 | 컴파일 타임 | 런타임 |
상속 여부 | 상관 없음 | 상속 필수 |
주 사용 목적 | 다형성 (오버로드된 메소드 선택) | 다형성 (실행 시 메소드 바인딩) |
* 오버로딩(Overloading)이란?
같은 메소드 이름을 사용하되, 매개변수의 개수나 타입이 다르게 정의된 경우를 말함.
즉, 하나의 기능을 다양한 입력값으로 처리할 때 사용.
# 예시코드
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
public int add(int a, int b, int c) {
return a + b + c;
}
}
오버로딩은 컴파일 타임에 결정되며, 접근 제어자, 반환형은 영향을 주지 않음.
* 오버라이딩(Overriding)이란?
부모 클래스의 메소드를 자식 클래스에서 재정의하는 것.
즉, 부모 클래스가 정의한 기능을 자식 클래스가 자신의 방식으로 바꿔서 구현할 수 있게 함.
# 예시코드
class Animal {
public void sound() {
System.out.println("동물이 소리를 냅니다.");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("멍멍!");
}
}
오버라이딩은 런타임에 결정되며, 메소드 이름, 매개변수, 리턴 타입까지 동일해야 함. 접근 제어자는 부모보다 더 좁게 줄 수 없음.
728x90
'뻘짓' 카테고리의 다른 글
Java Stream 정리 + 활용법 (4) | 2025.08.13 |
---|---|
정보처리기사 정리(21.08.14 기출) (1) | 2024.01.31 |
자소서 | 포트폴리오 (0) | 2024.01.12 |
[YOLO] Object Detection 켄타우로스는 사람일까 동물일까? (0) | 2024.01.10 |
[python] 일반방식 VS 이터레이터 방식 (0) | 2023.11.16 |