🌟 JAVA 상속과 다형성 완전 정복!
자바의 상속, 인터페이스, 다형성, 오버라이딩 등 객체지향의 핵심 개념을 쉽게 이해할 수 있도록 정리했습니다.
코드 재사용과 유연한 설계의 기본을 탄탄히 다져보세요!
목차
- 🌟 JAVA의 상속 개념
- 📚 상속 시 생성자와 'super' 키워드의 활용
- 📘 JAVA 메서드 오버라이딩과 다형성
- ⚡ 객체 간 형 변환과 다형성의 활용
- 📘 추상 클래스와 인터페이스의 역할과 특징
- ☕ 객체 타입 확인과 코드 관리
상속
상속은 이미 존재하는 클래스를 확장하여 새로운 클래스를 만드는 방법입니다.
마치 부모님이 물려주신 재산처럼, 기존 클래스의 기능과 특성을 그대로 물려받아 재사용할 수 있죠.
자바에서는 extends 키워드를 사용해 상속을 구현하며, 코드 재사용성과 클래스 계층 구조 관리를 돕습니다.
인터페이스
인터페이스는 클래스가 어떤 모습이어야 하는지를 정의하는 설계도와 같습니다.
추상 메서드와 상수만을 포함하며, 이를 구현하는 클래스는 반드시 모든 메서드를 구현해야 합니다.
이를 통해 다형성을 확보하고 클래스 간 결합도를 낮출 수 있습니다.
다형성 (Polymorphism)
다형성은 하나의 객체가 여러 타입으로 취급될 수 있는 성질입니다.
마치 변신 로봇처럼 자동차도 되고 로봇도 될 수 있는 것과 같죠.
다형성 덕분에 유연하고 확장 가능한 프로그램을 만들 수 있습니다.
메서드 오버라이딩 (Overriding)
메서드 오버라이딩은 자식 클래스가 부모 클래스의 메서드를 재정의하는 것을 말합니다.
자식 클래스는 부모 메서드를 자신만의 방식으로 바꾸거나 확장할 수 있습니다.
이는 객체지향 프로그래밍의 핵심 기능 중 하나입니다.
1. 🌟 JAVA의 상속 개념
- 존재하는 클래스를 확장해 새로운 클래스를 만듦
- 기존 클래스의 속성과 메서드를 물려받음
extends키워드 사용- 자바는 단일 상속만 허용 (부모 클래스 하나)
- 계층적 관계를 통해 다형성 지원
2. 📚 상속 시 생성자와 'super' 키워드의 활용
- 자식 클래스 생성자에서 부모 클래스 생성자 호출 필요
super()는 부모 클래스 생성자 호출super.필드명,super.메서드명()로 부모 멤버 참조 가능
3. 📘 JAVA 메서드 오버라이딩과 다형성
- 자식 클래스가 부모 메서드를 재정의해 동작 변경
- 부모 타입 변수로 자식 객체 참조 가능 (다형성)
- 같은 코드가 다양한 객체에서 다르게 동작하도록 함
4. ⚡ 객체 간 형 변환과 다형성의 활용
- 상속관계에서 부모 타입 ↔ 자식 타입 간 형 변환 가능
- 업캐스팅(자동)과 다운캐스팅(명시적)
- 유연한 코드 작성과 확장성 극대화에 도움
5. 📘 추상 클래스와 인터페이스의 역할과 특징
- 추상 클래스는 하나 이상의 추상 메서드 포함, 직접 객체 생성 불가
- 자식 클래스가 추상 메서드를 반드시 구현해야 함
- 인터페이스는 상수와 추상 메서드만 포함, 다중 상속 가능
- 콜백 함수, 다형성, 느슨한 결합 구현에 중요
6. ☕ 객체 타입 확인과 코드 관리
instanceof연산자로 객체의 타입 확인 가능- 패키지는 관련 클래스·인터페이스 묶음, 체계적 관리 및 이름 충돌 방지
- 다른 패키지 클래스 사용 시
import또는 절대 경로 명시 필요
상속과 다형성, 인터페이스는 자바 객체지향 프로그래밍의 기둥입니다.
이 개념들을 잘 이해하고 활용하면 유지보수 쉽고 확장성 좋은 코드를 작성할 수 있습니다.
'JAVA' 카테고리의 다른 글
| Java.예외처리 (1) | 2025.05.24 |
|---|---|
| Java.기본 API 클래스 (1) | 2025.05.24 |
| Java.객체와 클래스 (1) | 2025.04.25 |
| Java.컬렉션 (0) | 2025.04.25 |
| Java. 배열 (0) | 2025.04.01 |