분류 전체보기227 [JAVA] 추상 클래스와 추상 메소드 정리 '추상'은 사전적 의미로 실체 간에 공통되는 특성을 추출한 것이라고 말한다. 예를 들어 새, 곤충, 물고기 등의 공통점은 동물이다. 여기서 동물은 실체들의 공통되는 특성을 가지고 있는 추상적인 것이라고 볼 수 있다. 추상 클래스 객체를 생성할 수 있는 클래스를 실체 클래스라고 한다면 이 클래스들의 공통적인 필드나 메소드를 추출해서 선언한 클래스를 '추상 클래스'라고 한다. 쉽게 말하면, 추상 클래스는 실체 클래스의 부모 역할을 한다. 예를 들어 Bird, Insect, Fish와 같은 실체 클래스에서 공통되는 필드나 메소드를 따로 선언한 Animal 클래스를 만들 수 있고, 이것을 상속한 실체 클래스를 만들 수 있다. 추상 클래스는 실체 클래스의 공통되는 필드나 메소드를 추출해서 만들었기 때문에 new .. 2023. 8. 23. [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. 이전 1 ··· 3 4 5 6 7 8 9 ··· 57 다음