반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 핀트 후기
- 핀트후기
- 소액투자
- 직장인소액투자
- 핀트투자
- fint후기
- 코틀린
- fint
- 핀트
- 예외
- 직장인부업
- 핀트수익률
- 개발
- 자바기초
- 핀트투자후기
- 웹
- Java
- 웹개발
- 직장인재태크
- 자바
- git
- 로보어드바이저
- fint 수익률
- 인텔리제이
- 핀트 수익률
- 자동투자
- 자바문법
- AI투자
- 직장인 소액투자
- 재태크
Archives
- Today
- Total
하루하루 살아남기
[ Java / 자바 ] 오버라이딩 본문
반응형
오버라이딩
오버라이딩(Overiding)은 부모가 가진 메서드와 같은 모양의 메서드를 자식이 가지는 것을 뜻합니다.
부모로부터 상속받은 기능이 필요하지만, 약간의 변경이 필요하거나 새로운 기능이 더 생겼을때 자식 클래스에서 재정의해 사용하는 것이 오버라이딩입니다.
구체적인 예를 들어 보겠습니다.
먼저 동물 클래스를 만들어 보겠습니다.
public class Animal {
public void run() {
System.out.println("Animal Run");
}
}
이번엔 동물클래스를 상속받는 비어있는 고양이 클래스를 만들어 보겠습니다.
public class Cat extends Animal {
}
이제 Cat클래스를 인스턴스화할 클래스를 하나 만들어 주겠습니다.
public class OverideTest {
public static void main(String[] args) {
Cat cat = new Cat();
cat.run();
}
}
고양이 클래스는 동물 클래스를 상속받았으므로 run() 메서드를 사용할수 있습니다. 바로 사용해 보겠습니다.
문제없이 실행됩니다.
고양이 클래스에는 어떤 메서드도 없기때문에 부모의 run()이 실행됩니다.
Cat클래스에 부모의 run메서드를 선언하고 실행해보겠습니다.
public class Cat extends Animal {
public void run() {
System.out.println("Cat run");
}
}
이번에는 고양이 클래스의 run()이 실행되었습니다.
이렇게 재정의를 하게 되더라도 부모(동물클래스)의 run()을 못쓰게 되는것은 아닙니다.
public class Cat extends Animal {
public void run() {
super.run();
System.out.println("Cat run");
}
}
super 키워드 를 통해 부모의 메서드나 필드에 접근할 수 있습니다. 위 코드를 실행하면
이렇게 나옵니다.
이로써 오버라이딩을해도 부모의 메서드가 사라지지 않는것을 확인했습니다.
728x90
반응형
'개발 > Java' 카테고리의 다른 글
[Java / 자바 ] 인터페이스 (0) | 2021.03.28 |
---|---|
[Java / 자바 ] 클래스 형변환 (0) | 2021.03.27 |
[Java / 자바 ] Super (0) | 2021.03.25 |
[Java / 자바] 추상 클래스 (0) | 2021.03.23 |
[Java / 자바] 접근제한자 (0) | 2021.03.19 |
Comments