혼공자
[Java] 추상 클래스
07 상속 07-3 추상 클래스 추상 클래스란? 여러 클래스의 공통된 특성(필드, 메소드)를 추출해서 선언한 것을 추상클래스라고 한다. 추상 클래스와 실체 클래스는 부모, 자식 클래스로서 상속관계를 가진다. 추상 클래스의 용도 공통된 필드와 메소드의 이름을 통일할 목적 실체 클래스를 작성할 때 시간 절약 추상 클래스는 실체 클래스의 설계 규격 → 객체 생성용 X 추상 클래스 선언 abstract 키워드를 이용하여 선언한다. new 연산자로 객체를 생성할 수 없고, 상속을 통해 자식 클래스만 만들 수 있다. public abstract class 클래스 { // 필드 // 생성자 -> 자식 객체가 생성될때 super(...)로 호출 // 메소드 } 추상 메소드와 재정의 메소드 선언만 통일하고 실행 내용은 ..
[Java] 타입 변환과 다형성
07 상속 07-2 타입 변환과 다형성 다형성이란? 사용 방법은 동일하지만 다양한 객체를 이용해서 다양한 실행결과가 나오도록 하는 성질을 의미한다. 다형성은 메소드 재정의와 타입 변환으로 구현한다. 자동 타입 변환 자동 타입 변환(promotion)이란? 프로그램 실행 도중 자동으로 타입 변환이 일어나는 것을 말한다. 자식은 부모 타입으로 자동 타입 변환이 가능하다. 부모타입 변수 = 자식 타입; // 자동 타입 변환 cat과 animal 변수는 타입만 다를 뿐, 동일한 Cat 객체를 참조한다. Cat cat = new Cat(); Animal animal = cat; cat == animal // true 부모 타입으로 자동 변환 이후에는 부모 클래스에 선언된 필드 및 메소드만 접근 가능하다. 예외적으..