정처기 감자정처기 감자
Java객체지향

검색

검색어를 입력해 개념, 문제, 필기를 찾습니다.

Java 인터페이스와 implements

코딩Java
읽는데 6분 소요
처음 쓰인 날: 2026-02-17
마지막 수정일: 2026-04-24
조회수: —
선수학습(2개)
  • Java 상속(extends), super, this()와 필드 하이딩
  • Java 추상 클래스(abstract class)와 추상 메서드

요약

Java 인터페이스(interface)의 개념과 implements 키워드 사용법을 알아봅니다. 정보처리기사 실기에 출제된 인터페이스 문제를 풀기 위한 핵심 개념을 정리합니다.

인터페이스 핵심 정리

개념설명예시
인터페이스 (interface)"이런 기능을 만들어라"라는 약속(규칙)interface Person { }
implements인터페이스를 구현(약속을 지키겠다고 선언)class A implements Person { }
추상 메서드인터페이스 안에 선언만 된 메서드 (본문 없음)void sayHello();
다형성같은 메서드 호출이 객체에 따라 다르게 동작하는 성질Person p = new A();

인터페이스란?

인터페이스(interface) 는 클래스가 반드시 구현해야 할 메서드의 목록을 정의하는 것입니다.

쉽게 말하면, "이 기능들을 반드시 만들어야 해" 라는 약속(계약) 입니다.

java
코드 하이라이팅 중…

위 코드에서 Person 인터페이스는 sayHello()라는 메서드를 선언하고 있습니다. 하지만 메서드의 본문(구체적인 동작) 은 없습니다. 본문은 이 인터페이스를 구현하는 클래스에서 작성합니다.

인터페이스 vs 클래스
인터페이스는 메서드의 이름, 매개변수, 리턴 타입만 선언하고 본문(중괄호 {} 안의 코드)은 작성하지 않습니다. 실제 동작은 이 인터페이스를 implements한 클래스에서 구현합니다. 그래서 인터페이스의 메서드는 세미콜론(;)으로 끝나고, 클래스의 메서드는 중괄호 {} 안에 코드가 있습니다.

implements 키워드

클래스가 인터페이스를 구현할 때 implements 키워드를 사용합니다.

java
코드 하이라이팅 중…

핵심 규칙

  1. 인터페이스를 구현하는 클래스는 implements 를 사용합니다
  2. 인터페이스에 선언된 모든 메서드를 반드시 구현해야 합니다
  3. 구현할 때 메서드 앞에 public 을 붙여야 합니다

인터페이스는 "외부에 공개하는 약속"이므로, 어떤 패키지의 클래스든 이 약속을 구현할 수 있어야 합니다. 그래서 인터페이스의 메서드는 public을 생략해도 자동으로 public입니다. Java는 메서드를 구현할 때 원래보다 접근 범위를 좁힐 수 없으므로, 구현 클래스에서도 public을 명시해야 합니다. 생략하면 default 접근 제어자(같은 패키지에서만 접근 가능)가 적용되어 public보다 좁아지므로 컴파일 에러가 발생합니다.

java
코드 하이라이팅 중…
extends와 implements의 차이
클래스를 상속할 때는 extends, 인터페이스를 구현할 때는 implements를 사용합니다. 이 둘을 혼동하면 안 됩니다.

extends vs implements 비교

키워드사용 대상의미예시
extends클래스 -> 클래스상속 (부모 기능을 물려받음)class Child extends Parent
implements클래스 -> 인터페이스구현 (약속한 기능을 만듦)class A implements Person
java
코드 하이라이팅 중…

다형성

다형성(Polymorphism) 은 그리스어 poly(여러) + morph(형태), 즉 "여러 형태" 라는 뜻입니다. 프로그래밍에서는 같은 메서드 호출이 객체에 따라 다르게 동작하는 성질을 말합니다.

Java에서는 인터페이스 타입의 변수에 구현 클래스의 객체를 담아 다형성을 구현합니다.

java
코드 하이라이팅 중…

같은 Person 타입이지만, 실제로 어떤 클래스의 객체를 담았느냐에 따라 sayHello()의 동작이 달라집니다. 이것이 다형성 입니다.

시험에서 자주 나오는 패턴
Person person = new 올리브영직원(); 처럼 인터페이스 타입 변수에 구현 클래스 객체를 담고, person.sayHello()를 호출하는 패턴이 자주 출제됩니다. 이때 실행되는 것은 실제 객체(올리브영직원)의 메서드입니다.

인터페이스 여러 개 구현

Java에서 클래스는 인터페이스를 여러 개 구현할 수 있습니다. 쉼표(,)로 구분합니다.

java
코드 하이라이팅 중…
참고: extends와 implements를 동시에 사용할 수도 있습니다
class Dog extends Animal implements Walkable { } 처럼 클래스 상속과 인터페이스 구현을 동시에 할 수 있습니다. 이때 extends가 먼저 오고 implements가 뒤에 옵니다.
Runnable 인터페이스로 스레드를 만들 수 있습니다
Java가 제공하는 Runnable 인터페이스를 구현하면 해당 클래스를 스레드로 실행할 수 있습니다. 22년 1회 실기에 출제되었습니다. 스레드(Thread)와 Runnable 페이지에서 자세히 알아보세요.
인터페이스와 비슷한 추상 클래스도 알아두세요
인터페이스와 비슷하지만, 일반 메서드와 필드도 가질 수 있는 추상 클래스(abstract class)가 있습니다. 추상 클래스 페이지에서 자세히 알아보세요.
Java 8 default 메서드 (기출 X)
인터페이스 안에 본문을 가진 default 메서드를 둘 수 있습니다. 정보처리기사 실기에는 출제된 적이 없지만 자바 개발자 면접에서는 자주 묻습니다. 궁금하면 default 메서드 페이지에서 확인하세요.

정보처리기사 실기 대비 문제

문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)
후수학습(3개)
  • Java 인터페이스의 default 메서드
  • Java 람다 표현식과 함수형 인터페이스
  • Java 스레드(Thread)와 Runnable 인터페이스
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999