• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Keyword] Java - interface 키워드 - 인터페이스 선언

1,447  
목차
  1. interface 예제 - 단일 interface 구현
  2. interface 정의
  3. interface 예제 - 다중 interface 구현

 

interface 예제 - 단일 interface 구현

Hz.java

 

interface Site {

  public void site(); // 인터페이스 메서드 선언

  public void host(); // 인터페이스 메서드 선언

}


class My implements Site {

  public void site() { // 인터페이스 메서드 정의

    System.out.println("홈짱닷컴");

  }

  public void host() { // 인터페이스 메서드 정의

    System.out.println("Homzzang.com");

  }

}


class Hz {

  public static void main(String[] args) {

    My my = new My();

    my.site();

    my.host();

  }

}

 

결과값:

홈짱닷컴

Homzzang.com

 

interface 정의

 

추상 메서드만 포함하는 특수 유형의 클래스를 선언하는 데 사용.

 


 

1. 클래스 vs 인터페이스

 

class (클래스) :

  • extends 키워드 사용해 상속.
  • 클래스가 오직 1개의 클래스만 상속 가능. (※ 다중 상속 지원 X)

 

interface (인터페이스) :

  • implements 키워드 사용해 구현.
  • 클래스가 복수의 인터페이스를 구현 가능. (※ 다중 구현 지원 O)

 

2. 인터페이스 특징

  • 직접 객체 생성 불가.
  • 선언된 메서드의 구체적 정의는 implements 한 클래스에서 함.
  • 인터페이스 구현 시, 반드시 선언된 메서드의 정의를 해줘야 함.
  • 인터페이스 메서드는 기본적으로 abstract, public 특징을 가짐.
  • 인터페이스 속성은 기본적으로 public, static, final 특징을 가짐.
  • 인터페이스는 생성자 가질 수 없음. (∵ 객체 생성 불가하므로.)
  • 첫 글자는 대문자 사용.

 

3. 인터페이스 사용 이유

  • 보안 확보. (∵ 특정 세부 정보 숨기고, 주요 정보만 표시)
  • 코드 정합성 (= 코드 복잡성에 따른 에러 발생 방지) 확보.

 

 

interface 예제 - 다중 interface 구현

 

interface Site {

  public void site(); // 인터페이스 메서드 선언

}


interface Host {

  public void host(); // 인터페이스 메서드 선언

}


class My implements Site, Host {

  public void site() { // 인터페이스 메서드 정의

    System.out.println("홈짱닷컴");

  }

  public void host() { // 인터페이스 메서드 정의

    System.out.println("Homzzang.com");

  }

}


class Hz {

  public static void main(String[] args) {

    My my = new My();

    my.site();

    my.host();

  }

}

 



분류 제목
class Java - LinkedList (링크트리스트) - 반복 접근 최적화 된 유사 배열
class Java - HashMap (해시맵) - key=value 쌍의 유사 배열. (Python Dictionar…
class Java - HashSet (해시셋) - 유일값만 인정하는 유사 배열. ※ Python의 Set과 유사.
class Java - Iterator (반복자)
class Java - Wrapper Classes (랩퍼 클래스)
class Java - Exceptions (= Try...Catch..) - 에러 제어 (= 익셉션 = 트라이...캐…
class Java - RegEx (정규식) - 정규표현식
class Java - Threads (쓰레드)
class Java - Lambda (람다 표현식)
file Java - File 클래스 + 메서드
file Java - Create/Write Files (파일 생성/쓰기)
file Java - Read Files (파일 읽기) - 파일 정보 얻기
file Java - Delete Files (파일 삭제)
Keyword Java - Keywords (키워드) 종류
Keyword Java - abstract 키워드 - 추상 (클래스/메서드) 선언.
Keyword Java - assert 키워드 △ - 디버깅 할 때 사용.
Keyword Java - boolean 키워드 - 참거짓 자료형 지정.
Keyword Java - break 키워드 - (반복문・switch 조건문) 탈출. (= 브레이크)
Keyword Java - byte 키워드 - 1byte 크기의 '정수형' 자료형 지정. (= 바이트)
Keyword Java - case 키워드 - switch 조건문의 각 조건 지정.
3/10
목록
찾아주셔서 감사합니다. Since 2012