일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 모각코
- 데이터분석
- 백준
- 알고리즘
- AI 윤리
- ai 전문가 과정
- 데이터과학
- LG Aimers
- git
- 코딩테스트
- AIVLE
- github
- 클래스
- Python
- KT AIVLE
- 파이썬
- 인공지능
- list
- dictionary
- pandas
- 자바
- Java
- Ai
- 코딩
- KT
- 데이터
- numpy
- 정처기
- AI학습
- 정처기 실기
Archives
- Today
- Total
무향향수
[Java]오버라이딩 본문
[Day4] 상속, 인터페이스와 다른 형식의 클래스, 예외처리
Chapter 7-3 오버라이딩
목차 🏀- 어노테이션(Annotation)
- 오버라이딩(Overriding) 이란?
- 오버라이딩의 조건
- super
🏀 어노테이션(Annotation)
- 코드 문법 확인을 위해 컴파일러에게 정보를 제공하는 것
🏀 오버라이딩(Overriding)
- 조상 클래스로부터 상속받은 메서드 내용을 변경하는 것을 오버라이딩이라고 한다.
class Fruit{ // 부모클래스
int count = 10;
String name = "The name is";
public String fruitName(){
return "count : " + count + " and " + name;
// count : 10 and The name is
}
}
class Mango extends Fruit{
String fruitName = "Mango";
public String fruitName(){ // 부모 클래스의 메소드 오버라이딩
return "count : " + count + " and " + name + " " + fruitName;
// count : 10 and The name is Mango
}
}
🏀 오버라이딩(Overriding) 조건
조상 클래스의 메서드를 오버라이딩하는 자손 클래스는
- 이름이 같아야한다.
- 매개변수가 같아야 한다.
- 반환타입이 같아야 한다.
🏀 super
super 키워드를 사용하여 조상클래스의 변수를 자손클래스에서 사용할 수 있다.
package JavaPra;
public class SuperTest {
public static void main(String[] args) {
Jelly j = new Jelly();
j.Taste();
}
}
class Snack{
int flavor = 0;
}
class Jelly extends Snack{
int flavor = 1000;
public void Taste(){
System.out.println(flavor); // Jelly (1000)
System.out.println(this.flavor); // Jelly (1000)
System.out.println(super.flavor); // Snack (0)
}
}
super 키워드를 사용하여 위에서 작성한 Fruit, Mango코드를 아래와 같이 수정할 수 있다.
package JavaPra;
public class OverridingPra {
public static void main(String[] args) {
Mango m = new Mango();
System.out.println(m.fruitName());
Fruit f = new Fruit();
System.out.println(f.fruitName());
}
}
class Fruit{
int count = 10;
String name = "The name is";
public String fruitName(){
return "count : " + count + " and " + name;
}
}
class Mango extends Fruit{
String fruitName = "Mango";
public String fruitName(){
return super.fruitName() + " " + fruitName;
// 상속받은 Fruit의 fruitName() 메서드와 앞부분이 모두 동일하기 때문에
// super를 써서 호출해준다.
}
}
더보기
⭐내용 요약⭐
- 오버라이딩이란, 상속받은 메서드의 내용을 변경하는 것을 말한다.
- 오버라이딩을 하려면 조상과 자손 클래스 메서드의 이름, 매개변수, 반환타입이 동일해야한다.
더보기
❓질문❓
- 오버라이딩과 오버로딩의 차이가 무엇일까?
[Java]오버로딩
[Day4] 상속, 인터페이스와 다른 형식의 클래스, 예외처리 Chapter 7-3 오버로딩 목차 🔍 오버로딩(Overloading) 오버로딩의 조건 🏀 오버로딩(Overloading) 한 클래스 내에 같은 이름의 메서드를 여러 개
angidgidtn.tistory.com
'SW아카데미 (23) > JAVA' 카테고리의 다른 글
[Java]클래스 형변환 (1) | 2023.07.07 |
---|---|
[Java]추상클래스 (0) | 2023.07.07 |
[Java]상속 (0) | 2023.07.06 |
[Java]final 키워드 (0) | 2023.07.05 |
[Java]인스턴스 멤버와 정적 멤버 (0) | 2023.07.05 |