🎭 다형성 (Polymorphism)
- 다형성은 하나의 객체가 여러 가지 타입을 가질 수 있는 성질을 말함
- 실생활 예시: 하나의 TV 리모컨으로 여러 브랜드의 TV를 조작할 수 있음
- 부모 타입의 참조 변수로 자식 객체를 참조할 수 있음
✅ 다형성의 장점
- 코드의 유연성 증가
- 코드의 재사용성 향상
- 유지보수 용이
🔼 업캐스팅 (Upcasting)
- 기본 자료형: 작은 자료형을 큰 자료형으로 자동 변환
- 객체: 자식 객체를 부모 타입으로 자동 변환 (묵시적 형변환)
- 별도의 캐스팅 문법 없이 사용 가능
🔽 다운캐스팅 (Downcasting)
- 기본 자료형: 큰 자료형을 작은 자료형으로 변환 (명시적 형변환 필요)
- 객체: 부모 타입을 자식 타입으로 변환
- 명시적인 형변환 문법이 필요함
🔍 instanceof 연산자
- 객체의 타입을 확인하는 연산자
- 다형성을 활용한 코드에서 객체의 실제 타입을 확인하는 데 사용