TIL

2025_01_09 TIL

hi_i 2025. 1. 9. 20:55

오늘의 할일

  • "자바의 정석"7장 객체배열 ~ 내부클래스                                 

객체 배열

  • 여러 객체들의 공통조상 타입으로 객체를 배열로 묶어서 관리.

추상 클래스(abstract class)

정의

  • 미완성 클래스라는 의미로 abstract method를 포함하고 있는 클레스
  • 공통적으로 사용될 것을 미리 작성, 기존 클래스의 공통부분을 추출해 작성.

추상 메서드

  • 선언부만 작성되어진 메서드로 상속받는 클래스에서 반드시 구현되어져야 하고 추상클래스의 모든 메서드가 구현되지 않으면 해당 클래스도 추상 클래스로 정의 해야한다.
    code필요성
    • 클래스의 공통부분을 추출해 관리하고, 추상메서드를 통해 상속받은 클래스에서 메서드를 반드시 구현하도록 할 수 있다.

인터페이스 (interface)

정의

  • 추상클래스보다 높은 추상화.
  • 추상메서드와 상수만 멤버로 가질 수 있다.(모든멤버는 public abstract, public final static형태여야한다.)상속
  • 다중상속을 허용(extends A, B)
  • 추상클래스와 동일하게 독립적으로 인스턴스 생성X implement 를 통해 인터페이스를 구현해 주어야 한다.다형성
  • 인터페이스는 인터페이스를 구현(implement)한 클레스의 조상클래스이다.
  • 인터페이스 타입의 참조변수로 구현한 클래스의 인스턴스 참조,형변환 가능.
  • 인터페이스 타입의 매개변수 -> 인터페이스를 구현한 클래스의 인스턴스를 매개변수로 제공해야한다는 의미.

장점

1) 개발시간 단축
2) 표준화 가능
3) 관계없는 클레스간 관계 생성
4) 독립적 프로그래밍 가능

디폴트 메서드(defalt method)

  • 추상메서드의 기본적인 구현을 제공.(추상메서드x)

내부 클래스(inner class)

  • 클래스 내부에 클래스를 구현한 형태.
  • 외부멤버들 접근성↑, 캡슐화