class, abstract class 및 interface란 무엇인가?

발행: (2025년 12월 11일 오후 02:35 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

What is class, abstract class & interface에 대한 표지 이미지

클래스란?

  • 클래스는 객체를 생성하기 위한 청사진(템플릿)이다.
  • class 키워드로 클래스를 선언한다.
  • 클래스 안에는 필드(비정적/정적), 블록(비정적/정적), 생성자, 구체 메서드(비정적/정적), 내부 클래스, 인터페이스 등을 직접 작성할 수 있다.
  • 일반적으로 new 키워드를 사용해 클래스의 객체를 만든다.
  • 클래스는 사용자 정의 데이터 타입이기도 하다.
  • 일반 클래스 안에서는 추상 메서드를 정의할 수 없다.

클래스 다이어그램

추상 클래스

  • abstract 키워드로 추상 클래스를 선언한다.
  • 추상 클래스의 객체는 생성할 수 없다.
  • 추상 클래스는 다음을 포함할 수 있다:
    • 비추상(구체) 메서드
    • 추상 메서드
    • 비정적 필드
    • 정적 필드
  • 추상 클래스는 final 로 선언될 수 없다.

참고

  • 추상 메서드에는 본문이 없으며, 구현은 반드시 하위 클래스에서 제공해야 한다.

추상 클래스 다이어그램

인터페이스

  • 인터페이스는 추상 메서드와 상수(public static final) 변수들을 포함하는 청사진이다.
  • interface 키워드로 인터페이스를 선언한다.
  • 인터페이스를 이용하면 다중 상속을 구현할 수 있다.

인터페이스 다이어그램

Back to Blog

관련 글

더 보기 »

Java에서 object와 class는 무엇인가

Object란 무엇인가? Object는 property와 behavior를 갖는 현실 세계의 엔티티이다. 예를 들어, 펜은 color, brand, height, diameter와 같은 property를 가질 수 있다.

Java에서 메서드 오버라이딩

메서드 오버라이딩이란 무엇인가? 서브클래스가 이미 부모 클래스에 정의된 메서드에 대해 구체적인 구현을 제공할 때 이를 메서드 오버라이딩이라고 한다.

JavaScript에서 일급 함수

소개 개발자들이 JavaScript를 배우면서 “first‑class functions”라는 용어가 토론과 문서에서 자주 등장합니다. JavaScript에서 함수는 …