티스토리 뷰
아주 간단한 JAVA 함수 오버라이딩 예제를 가져왔습니다. 전체 코드는 이렇습니다.
<OverrideExample.java>
package override01; class SuperClass { public void itis() { System.out.println("It's superclass"); } } class SubClass extends SuperClass { public void itis() { System.out.println("It's subclass"); } } public class OverrideExample { public static void main(String[] args) { SuperClass sc = new SuperClass(); SubClass bc = new SubClass(); sc.itis(); bc.itis(); } }
SuperClass와 SuperClass를 상속받은 SubClass를 각각 생성한 뒤 각각의 itis() 함수를 실행시키는 코드입니다. 한줄 한줄 살펴보면 아래와 같습니다.
class SuperClass { public void itis() { System.out.println("It's superclass"); } }
가장 최상위 클래스로 SuperClass를 정의하고, 이것이 가장 최상위 SuperClass임을 알 수 있도록 itis() 함수를 만들어 "It's superclass" 라는 출력을 시켰습니다.
class SubClass extends SuperClass { public void itis() { System.out.println("It's subclass"); } }
SuperClass를 상속받은 SubClass를 정의하고, 이것도 위와 마찬가지로 SubClass임을 알 수 있도록 itis() 함수를 만들어 "It's subclass" 라는 출력을 시켰습니다.
public class OverrideExample { public static void main(String[] args) { SuperClass sc = new SuperClass(); SubClass bc = new SubClass(); sc.itis(); bc.itis(); } }
마지막으로 main 함수에서 테스트를 위하여 SuperClass를 하나, Subclass를 하나 생성하였습니다.
그리고 각각 함수에서 만들었던 itis() 함수를 실행시켰습니다. 실행결과는 다음과 같습니다.
추가적인 설명을 덧붙이자면, SubClass는 SuperClass를 상속받긴 하였지만, SubClass 내부에서 itIs 함수를 재정의 함으로써 기존에 존재하던 "It's superclass"를 출력시키는 itIs 함수에 "It's subclass"를 출력하는 함수로 덮어씌웠기 때문에, SubClass를 아무리 생성해도 itIs 함수를 실행시키면, 상속받은 itIs 함수가 아닌, 재정의된 itIs 함수가 실행되게 됩니다.
<더 자세한 주석>
package override01; //패키지 설정 class SuperClass { // 상위클래스 선언 public void itis() { // itis 함수구현 System.out.println("It's superclass"); // It's superclass 출력 } } class SubClass extends SuperClass { //하위 클래스 선언 public void itis() { // itis 함수 덮어씌우기 System.out.println("It's subclass"); //It's subclass 출 } } public class OverrideExample { //테스트를 위한 public class 선언 public static void main(String[] args) { // main함수 시작 SuperClass sc = new SuperClass(); //상위클래스 생성 SubClass bc = new SubClass(); //하위클래스 생성 sc.itis(); // 상위클래스의 itis 함수 실행 bc.itis(); // 하위클래스의 itis 함수 실행 } //main함수 종료 }
'동아리 활동' 카테고리의 다른 글
딥러닝 기초 간단 정리 (0) | 2018.06.01 |
---|---|
[JAVA 기초] 클래스, 상속, 접근지시제어자, 오버라이드 (0) | 2018.05.20 |
[JAVA 기초] 상속을 활용한 자바 프로그램 예제 (0) | 2018.05.20 |
[Java vs Kotlin] 자바와 코틀린의 차이점 (0) | 2018.05.15 |
딥러닝을 활용한 제품 예시 3가지 (0) | 2018.05.13 |
- Total
- Today
- Yesterday
- SJVA
- 그라파나
- 파이썬 문자열
- 분석도구
- youtube_dl
- 알림센터
- 파이썬 설치
- 파이썬3
- 파이썬 개요
- 파이썬 실행
- 파이썬 개발환경
- Grafana
- 파이썬이란
- DB분석
- 유튜브 동영상 다운로드
- 윈도우 11
- python3
- 모니터링툴
- Python IDE
- python3.9
- 파이썬 문자형
- 모니터링도구
- python
- Python Number
- 파이썬 IDE
- 파이썬 숫자타입
- release
- 파이썬 장점
- 파이썬
- #baekjoon
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |