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 |
Tags
- 정처기운영체제
- 데이터베이스
- 백준
- 바텀네비게이션
- 스누핑
- 정처기
- 안드로이드
- int크기
- 파이썬공부
- 정보처리산업기사
- 파이썬
- 자바예제
- 코딩
- 운영체제종류
- 자바연산자
- 컴퓨터일반
- 운영체제목적
- 정처산기
- 안드로이드스튜디오
- 업다운게임코드
- bottomnavigation
- 파이썬리스트
- androidstudio
- 파이썬배열예제
- 자바
- 엑티비티
- 코딩공부
- 파이썬배열
- java
- 파이썬예제
Archives
- Today
- Total
발전을 위한 기록
[Java] 자바 상속 이해하기 본문
💻 상속(Inheritance)
상속이란, 한 클래스가 다른 클래스의 속성과 메소드를 물려받는 기능을 말합니다. 자바에서는 extends 키워드를 사용하여 상속을 구현합니다. 상속을 통해 기존 코드를 재사용하고 확장하여, 보다 효율적으로 프로그램을 개발할 수 있습니다.
💻 상속의 장점
코드 재사용
- 이미 작성된 클래스를 상속받아 새로운 클래스를 만들면, 코드를 재작성 하지 않고 기느을 확장할 수 있습니다.
유지보수 용이
- 상위 클래스의 코드를 수정하면, 상속받은 모든 하위 클래스에 자동 적용됩니다.
계층적 분류
- 상속을 통해 클래스 간의 계층을 만들 수 있으며, 프로그램의 구조를 명확하게 이해하는데 도움이 됩니다.
예제
1. 기본 상속
// 부모 클래스
class Parent {
void show() {
System.out.println("부모 클래스의 메소드입니다.");
}
}
// 자식 클래스, Parent 클래스를 상속받음
class Child extends Parent {
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
child.show(); // 부모 클래스에서 상속받은 메소드 호출
}
}
- Child 클래스는 Parent 클래스로부터 show 메소드를 상속받습니다.
- Child 클래스의 인스턴스를 생성하고, 상속받은 show 메소드를 호출하여 "부모 클래스의 메소드입니다."를 출력합니다.
출력결과
부모 클래스의 메소드입니다.
2. 메소드 오버라이딩
// 부모 클래스
class Parent {
void show() {
System.out.println("부모 클래스의 메소드입니다.");
}
}
// 자식 클래스, Parent 클래스를 상속받음
class Child extends Parent {
// 부모 클래스의 show 메소드 오버라이딩
void show() {
System.out.println("자식 클래스에서 오버라이딩된 메소드입니다.");
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
child.show(); // 오버라이딩된 메소드 호출
}
}
- Child 클래스에서는 Parent 클래스의 show 메소드를 오버라이딩하여 새로운 메시지를 출력하도록 정의합니다.
- 이로 인해 Child 클래스의 인스턴스를 통해 show 메소드를 호출하면, "자식 클래스에서 오버라이딩된 메소드입니다."가 출력됩니다.'
출력결과
자식 클래스에서 오버라이딩된 메소드입니다.
3. 'super' 키워드 사용
// 부모 클래스
class Parent {
void show() {
System.out.println("부모 클래스의 메소드입니다.");
}
}
// 자식 클래스, Parent 클래스를 상속받음
class Child extends Parent {
void show() {
super.show(); // 부모 클래스의 show 메소드 호출
System.out.println("자식 클래스에서 오버라이딩된 메소드입니다.");
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
child.show(); // 부모 클래스의 메소드와 오버라이딩된 메소드 둘 다 호출
}
}
- super 키워드는 상속 관계에서 같은 이름의 변수일 때 구분하기 위해 사용합니다.
- Child 클래스의 show 메소드에서 super.show()를 호출함으로써 부모 클래스의 show 메소드를 실행합니다.
- "자식 클래스에서 오버라이딩된 메소드입니다."를 출력하여, 부모 클래스의 메소드와 자식 클래스의 오버라이딩된 메소드 둘 다 실행되는 것을 보여줍니다.
출력결과
부모 클래스의 메소드입니다.
자식 클래스에서 오버라이딩된 메소드입니다.
728x90
'프로그래밍 > 자바' 카테고리의 다른 글
[Java] 자바 주석처리 (한 줄, 여러 줄, 문서화) (0) | 2024.05.08 |
---|---|
[Java] 자바 예외 처리1 - Checked, Unchecked (0) | 2024.04.01 |
[Java] 자바 오버로딩(Overloading)과 오버라이딩(Overriding) (0) | 2024.02.06 |
[Java] 자바 클래스(Class) 이해하기 (0) | 2024.02.05 |
[Java] 자바 메소드(Method)의 이해와 활용 (0) | 2024.02.04 |