[ 학습 목표 ]
- 상속의 개념을 정확히 이해하기
- 부모 클래스와 자식 클래스의 관계를 코드로 표현할 수 있다
- extends 키워드를 통해 코드 재사용이 가능하다는 것을 체험한다
[ 이론 ]
1. 상속이란?
- 기존 클래스(부모)의 속성과 기능을 새로운 클래스(자식)가 물려받는 것
2. 상속의 특징
- 중복 코드 방지
- 코드의 재사용성과 유지보수성 향상
- 상속받는 클래스는 부모의 필드, 메서드를 그대로 사용할 수 있음
3. 기본 문법
class 부모클래스 {
필드;
메서드;
}
class 자식클래스 extends 부모클래스 {
자식만의 필드;
자식만의 메서드;
}
4. 상속 예시
public class Person {
String name;
int age;
void introduce() {
System.out.println("안녕하세요, 저는 " + age + "살 " + name + "입니다.");
}
}
public class Student extends Person {
int studentId;
void showStudentId() {
System.out.println("학번은 " + studentId + "입니다.");
}
}
5. 추가 팁
- 자식 클래스는 부모 클래스의 모든 public, protected 멤버에 접근 가능
- private 필드는 직접 접근 불가. → getter/setter를 통해 접근
- 자바는 단일 상속만 지원 → 하나의 부모 클래스만 상속 가능
[ 실습 ]
✅ 실습 1: 상속 구조 만들고 사용하기
public class Main {
public static void main(String[] args) {
Student student = new Student();
student.name = "홍길동";
student.age = 21;
student.studentId = 20231234;
student.introduce(); // Person 클래스에서 상속받은 메서드
student.showStudentId(); // Student 클래스의 메서드
}
}
[ 메모 ]
- 부모클래스 하나만 상속 받을 수 있음 (단일 상속)
- 상속은 extends 키워드를 사용하면 됨 (예: class 자식클래스명 extends 부모클래스명)
- 상속의 특징으로는 중복 코드 방지를 할 수 있고, 코드의 재사용성과 유지보수성이 향상한다.
- 그리고 상속 받으면부모클래스의 필드, 메서드 그대로 사용 가능.
- 그런데 public, protected 멤버에 접근은 가능하지만, private은 접근 불가. 접근하려면 getter/setter를 통해 접근해야 함
'개발 공부 > Java | SpringBoot' 카테고리의 다른 글
[Java/ChatGPT] Day 10: 다형성(Polymorphism)과 업캐스팅/다운캐스팅 (0) | 2025.06.19 |
---|---|
[Java/ChatGPT] Day 9: 메서드 오버라이딩(Method Overriding)과 super 키워드 (0) | 2025.06.19 |
[Java/ChatGPT] Day 7: 생성자 오버로딩 (Constructor Overloading) (0) | 2025.06.16 |
[Java/ChatGPT] Day 6: static 키워드와 클래스 변수/메서드 이해하기 (0) | 2025.06.15 |
[Java/ChatGPT] Day 5: 클래스의 캡슐화 개념과 Getter/Setter 메서드 (0) | 2025.06.14 |