JAVA24 [JAVA] 자바 다형성과 instanceof 다형성이란? 사용방법은 동일하지만 실행 결과가 다양하게 나오는 성질을 말한다. 자동차의 부품을 교환하면 성능이 다르게 나오듯이 객체는 부품과 같아서, 프로그램을 구성하는 객체를 바꾸면 프로그램의 실행 성능이 다르게 나올 수 있다. 다형성을 구성하기 위해서는 자동 타입 변환과 메소드 재정의가 필요하다. 1. 필드 다형성 필드 다형성은 필드 타입은 동일하지만, 대입되는 객체가 달라져서 실행 결과가 다양하게 나올 수 있는것을 말한다. 예제를 통해 알아보자. class Tire{ public void roll() { System.out.println("회전합니다."); } } class HankookTire extends Tire{ @Override public void roll() { System.out.pr.. 2023. 8. 21. [JAVA] 상속 중 타입 변환(자동 타입 변환, 강제 타입 변환) 타입 변환이란 타입을 다른 타입으로 변환하는 것을 말한다. 클래스의 타입 변환은 상속 관계에 있는 클래스 사이에서 발생한다. 1. 자동타입 변환 자동타입 변환은 의미 그대로 자동적으로 타입 변환이 일어나는 것을 말한다. 자동 타입 변환 - Cat cat = new Cat(); Animal animal = cat; ↓ - Animal animal = new Cat( ); (cat과 animal 변수는 타입만 다를 뿐 모두 동일한 Cat 객체를 참조한다.) 예제) class A{ } class B extends A{ } class C extends A{ } class D extends B{ } class E extends C{ } public class PromotionExample { public stat.. 2023. 8. 18. [JAVA] 메소드 오버라이딩 알아보기 메소드 재정의 부모 클래스의 모든 메소드가 자식 클래스에게 맞게 설계되어 있다면 가장 이상적인 상속이지만 어떤 메소드는 자식 클래스가 사용하기에 적합하지 않을 수 있다. 이런 메소드는 자식 클래스에서 재정의해서 사용해야 한다. 이러한 것을 '메소드 오버라이딩'이라고 한다. 메소드 오버라이딩(Method Overriding) 메소드 오버라이딩은 상속된 메소드를 자식 클래스에서 재정의하는 것을 말한다. 메소드 오버라이딩이 되었다면 해당 부모 메소드는 숨겨지고 자식 메소드가 우선적으로 사용된다. 한마디로 부모것을 사용하지 않고 내것을 사용하겠다는 것이다. 위 그림을 보면 자식 클래스에도 method2()가 있고 부모 클래스에도 method2()가 있다. 이때 부모것을 선택하지 않고 자식 클래스의 method2.. 2023. 8. 16. [자바] 상속의 기초 개념 상속 상속은 부모가 자식에게 물려주는 행위를 말한다. 객체 지향 프로그램에서도 부모 클래스의 필드와 메소드를 자식 클래스에게 물려 줄 수 있다. 상속을 사용하는 이유? 상속은 이미 잘 개발 된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 중복되는 코드를 줄여 개발 시간을 단축시킨다. 예를 들어, 자식 클래스 B에서 처음부터 필드와 메소드 4개를 작성하는 것 보다는 필드1과 메소드1을 부모 클래스 A에서 상속 받고 필드2와 메소드2만 추가 작성하는 것이 보다 효율적이다. 상속의 이점 이미 개발된 클래스를 재사용하므로 중복 코드를 줄임 클래스 수정을 최소화함 클래스 상속 자식 클래스를 선언할 때 어떤 부모로부터 상속받은 것인지를 결정하고 부모 클래스를 다음과 같이 extends 뒤에 기술 ※ 주의 ※ .. 2023. 8. 14. 이전 1 2 3 4 5 6 다음