Java/JAVA21
-
JAVA - 다형성, 추상메서드, 인터페이스 사용하는 이유Java/JAVA21 2024. 11. 12. 23:24
다형성과 오버라이드(Override)다형성(Polymorphism)은 상위 클래스 타입으로 하위 클래스 객체를 참조하여, 같은 메서드 호출이지만 하위 클래스의 구현에 따라 다르게 동작하도록 하는 객체지향의 특징입니다. 다형성을 구현하기 위해 자바에서는 메서드 오버라이드를 사용합니다.다형성에서의 문제점: 오버라이드 누락다형성 구현 시, 부모 클래스에서 정의된 메서드를 자식 클래스에서 재정의해야 하는데, 이 재정의(오버라이드)를 빼먹을 가능성이 있습니다.이를 방지하기 위해, 부모 클래스에서 반드시 구현해야 할 메서드는 추상 메서드로 선언하고, 이를 포함한 부모 클래스는 추상 클래스로 정의하여 자식 클래스에서 오버라이딩을 강제합니다.추상 클래스와 순수 추상 클래스추상 클래스(Abstract Class): 하나..
-
JAVA - 다형성 OverrideJava/JAVA21 2024. 11. 12. 10:49
업캐스팅과 다운캐스팅은 **오버라이드(Override)**와 함께 자주 사용됩니다. 오버라이딩은 상위 클래스의 메서드를 하위 클래스에서 재정의하는 것이며, 이를 통해 다형성(Polymorphism)을 구현할 수 있습니다. 업캐스팅을 통해 상위 클래스 타입으로 객체를 참조할 때, 오버라이드된 하위 클래스의 메서드가 호출됩니다. 다운캐스팅은 하위 클래스에만 있는 메서드나 필드에 접근하기 위해 사용됩니다. 예시 코드class Animal { void sound() { System.out.println("Animal makes a sound"); }}class Dog extends Animal { @Override void sound() { System.out.pr..
-
JAVA - 다형성 (업케스팅, 다운케스팅, instanceof)Java/JAVA21 2024. 11. 12. 09:57
자바에서 업캐스팅(Upcasting)과 다운캐스팅(Downcasting)은 객체지향 프로그래밍에서 객체의 타입을 변환하는 과정입니다.업캐스팅 (Upcasting)업캐스팅은 하위 클래스 객체를 상위 클래스 타입으로 변환하는 것입니다. 자바에서는 업캐스팅이 자동으로 수행되며, 상위 클래스 타입의 변수에 하위 클래스 객체를 할당할 때 이루어집니다. 업캐스팅을 통해 상위 클래스에서 정의된 메서드만 접근할 수 있습니다. 예시코드:class Animal { void sound() { System.out.println("Animal makes a sound"); }}class Dog extends Animal { void sound() { System.out.println..