다형성 3

상속(Inheritance)이란?

📌 상속(Inheritance)이란?상속은 기존 클래스(부모 클래스, 슈퍼클래스)의 속성과 기능을 새로운 클래스(자식 클래스, 서브클래스)에서 재사용하는 객체지향 프로그래밍(OOP)의 개념이야.자바에서는 extends 키워드를 사용해서 상속을 구현해.1️⃣ 상속의 개념✔ 코드 재사용 → 기존 클래스를 재사용하여 중복을 줄이고 유지보수를 쉽게 함.✔ 확장성(Extensibility) → 기존 클래스의 기능을 확장하여 새로운 기능을 추가할 수 있음.✔ 다형성(Polymorphism) → 부모 타입으로 자식 객체를 참조할 수 있어 유연한 코딩이 가능함.✅ 기본적인 상속 예제// 부모 클래스class Animal { void makeSound() { System.out.println("동물이..

자바 2025.02.09

업캐스팅(승급)

Left dao = new Left();동작:Left 클래스의 객체가 생성됩니다.참조 변수 dao는 생성된 Left 객체의 주소를 참조합니다.특징:참조 변수와 실제 객체의 타입이 동일합니다.모든 멤버(변수와 메서드)에 정상적으로 접근할 수 있습니다.Left dao = new Right();동작:Right 클래스의 객체가 생성됩니다.참조 변수 dao는 Left 타입으로 선언되었기 때문에, Right 객체를 업캐스팅하여 참조합니다.특징:상속 관계에서만 가능한 구문입니다.dao는 Left 타입으로 제한되기 때문에, Left 클래스에 정의된 멤버(변수와 메서드)에만 접근할 수 있습니다.Right 클래스에서 추가된 고유한 멤버에는 접근하려면 다운캐스팅이 필요합니다.예제:1. Left dao = new Left()..

객체에 대한 이해.

1. left dao = new right(); 이런 경우 dao는 left를 참조해 아니면 right을 참조해?자세한 설명left 타입의 참조 변수 daodao의 선언 타입이 left이므로, dao를 통해 호출할 수 있는 메서드와 필드는 left 클래스(또는 인터페이스)의 멤버에 한정됩니다.left에 선언되지 않은 right의 고유 멤버는 dao를 통해 직접 호출할 수 없습니다.new right()right 클래스의 객체가 생성됩니다.right는 left의 자식 클래스(또는 구현 클래스)여야만 이 코드가 컴파일됩니다.참조와 실제 객체의 관계참조 변수는 left 타입이고, 실제 생성된 객체는 right입니다.다형성에 의해 참조 변수(dao)는 left 타입의 메서드와 필드만 호출할 수 있지만, 실행 시에..