혼자 공부하는 자바

    추상 클래스

    추상 클래스 Bird.class, Insect.class, Fish.class 등의 실체 클래스에서 공통되는 필드와 메소드를 따로 선언한 Animal.class 클래스를 추상 클래스라고 한다. 추상 클래스의 용도 공통된 필드와 메소드의 이름을 통일할 목적 실체 클래스를 작성할 때 시간 절약 공통적 인 필드와 메소드는 추상 클래스인 Phone에 모두 선언해두고, 다른 점만 실체 클래스에 선언하면 실체 클래스를 작성하는 데 시간을 절약할 수 있다. 추상 클래스 선언 추상 클래스를 선언할 때에는 클래스 선언에 abstract 키워드를 붙여야 한다. abstract를 붙이면 new 연산자를 이용해서 객체를 만들지 못하고, 상속을 통해 자식 클래스만 만들 수 있다. public abstract class 클래스 ..

    타입 변환과 다형성

    다형성 사용 방법은 동일하지만 다양한 객체를 이용해서 다양한 실행 결과가 나오도록 하는 성질이다. 예를 들어 자동차가 타이어를 사용하는 방법은 동일하지만 어떤 타이어를 장착하느냐에 따라 주행 성능이 달라진다. 다형성을 구현하려면 메소드 재정의와 타입 변환이 필요 자동 타입 변환 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것 (ex) 부모타입 변수 = 자식타입; 자식은 부모의 특징과 기능을 상속받기 때문에 부모와 동일하게 취급될 수 있다. Cat cat = new Cat(); Animal animal = cat; // Animal animal = new Cat();도 가능 Cat 클래스로부터 Cat 객체를 생성하고 이것을 Animal 변수에 대입하면 자동 타입 변환이 일어난다. 바로 위의 부모가..

    상속

    클래스 상속 자식 클래스를 선언할 때 어떤 부모 클래스를 상속받을 것인지 결정하고, 선택된 부모 클래스는 다음 과 같이 extends 뒤에 기술한다. class 자식클래스 extends 부모클래스 { // 필드 // 생성자 // 메소드 } 여러 개의 부모 클래스를 상속할 수 없다. 그러므로 extends 뒤에는 단 하나의 부모 클래스만 와야 한다. 부모 클래스에서 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외된다. 부모 클래스와 자식 클래스가 다른 패키지에 존재한다면 default 접근 제한을 갖는 필드와 메소드도 상속 대상에서 제외된다. 부모 생성자 호출 자식 객체를 생성하면, 부모 객체가 먼저 생성되고 그 다음에 자식 객체가 생성된다. DmbCellPhone dmbCellPhon..