코딩교육 티씨피스쿨

[Java] 익명객체(익명클래스)란? (이 글 하나로 한방에 정리!)

[Java] 자바의 다중상속 (feat. 인터페이스와 추상클래스)

  1. 멤버로 가질 수 있는 것 : 추상메소드, final상수(static), default(1.8버전 이상)

  2. 객체 생성 불가능

    ⇒ new 선언시 객체가 아닌 익명객체(클래스)가 생성 ⇒ 상속과 객체생성을 한번에

    *익명객체 : 별도로 구현객체를 만들어 관리할 필요가 없는 단발성 작업처럼, 필요할 때마다 코드상에서 이름이 정의되지 않은 구현객체와 그 인스턴스를 한번에 생성하여 일회성으로 사용되고 사라지는 객체.

  3. 다중상속이 가능 (클래스 implements 인터페이스1, 인터페이스2, …)

    *인터페이스간의 상속시, implements가 아닌 extends를 사용

    (인터페이스1 extends 인터페이스2, 인터페이스3, …)

    *추상클래스와 인터페이스를 동시에 상속도 가능 ⇒ 다중상속

    (클래스 extends 추상클래스1 impements 인터페이스1)

  4. 상속(구현객체)을 통해 반드시 추상메소드를 오버라이드하여 구현해야함 (추상클래스와 동일)

  5. 다형성 적용이 가능

  6. 안드로이드나 게임 분야의 특정 기능들을 구현할 때 사용

  7. 기본적으로 접근지정자가 public으로 설정 ⇒ 생략가능

    public interface intefaceEx01 {}

    interface interfaceEx01 {}

  8. 인터페이스 상속방법 (추상클래스와 동일)

    1) 타입을 abstract로 설정(추상클래스화)

    2) 일반클래스에서 추상메소드를 오버라이드

*웹 어플리케이션 제작시 필수 사용요소

Model2방식 ⇒ Service(Commend), Repository(Spring boot)

인터페이스 사용의 장점

[JAVA] 추상클래스 VS 인터페이스 왜 사용할까? 차이점, 예제로 확인 :: 마이자몽

추상 클래스와 인터페이스의 차이

  1. 개발시간 단축
  2. 표준화 가능
  3. 관계있는 클래스간의 연결