달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 백준문제풀이
  • BOJ algorithm
  • BOJ
  • BRONZE
  • 혼공MySQL
  • SQL고득점Kit
  • math
  • select
  • sql 문제풀이
  • java
  • HTML
  • 프로그래머스
  • programmers
  • 알고리즘풀이
  • SQL
  • react
  • 혼자공부하는SQL
  • MySQL
  • java algorithm
  • Algorithm
  • 알고리즘
  • Bronze III
  • Bronze IV
  • Scanner
  • 백준알고리즘
  • 백준
  • 자바
  • 혼공SQL
  • Bronze V
  • 문제풀이

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

인터페이스(interface)
개념 창고/JAVA

인터페이스(interface)

2022. 6. 29. 02:40

인터페이스 구현과 형 변환

  • 인터페이스를 구현한 클래스는 인터페이스 형으로 선언한 변수로 형 변환 할 수 있음

Calc calc = new CompleteCalc();

  • 상속에서의 형 변환과 동일한 의미
  • 클래스 상속과 달리 구현 코드가 없으므로 여러 인터페이스를 구현할 수 있음 ( cf. extends)
  • 형 변환되는 경우 인터페이스에 선언된 메서드만을 사용가능함

 

인터페이스가 하는 일

  • 클래스나 프로그램이 제공하는 기능을 명시적으로 선언
  • 일종의 클라이언트 코드와의 약속이며 클래스나 프로그램이 제공하는 명세(specification)
  • 클라이언트 프로그램은 인터페이스에 선언된 메서드 명세만 보고 이를 구현한 클래스를 사용할 수 있음
  • 어떤 객체가 하나의 인터페이스 타입이라는 것은 그 인터페이스가 제공하는 모든 메서드를 구현했다는 의미임
  • 인터페이스를 구현한 다양한 객체를 사용함 - 다형성
  • 예) JDBC 인터페이스

'개념 창고 > JAVA' 카테고리의 다른 글

[JAVA] 대소문자 변환 & 비교 (toUpperCase, toLowerCase, equalsIgnoreCase)  (0) 2022.12.07
[JAVA] legnth / length() / size() 차이 및 사용법  (0) 2022.12.06
추상 클래스  (0) 2022.06.28
상속을 사용하는 때  (0) 2022.06.27
다형성(polymorphism)  (0) 2022.06.27
    '개념 창고/JAVA' 카테고리의 다른 글
    • [JAVA] 대소문자 변환 & 비교 (toUpperCase, toLowerCase, equalsIgnoreCase)
    • [JAVA] legnth / length() / size() 차이 및 사용법
    • 추상 클래스
    • 상속을 사용하는 때
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바