[Java] 인터페이스가 가진 객체지향의 특징

2023. 5. 3. 23:07·개발/JAVA
728x90
반응형

인터페이스는 객체지향의 특징 중 추상화, 다형성, 상속성의 특징을 가지고 있다.

 

1. 추상화

인터페이스는 미리 기능들을 정의하여 다른 객체에서 구현을 통해 정의된 기능들을 가져다 쓴다.

 

사람과 원숭이가 가지는 공통적인 숨쉬기, 걷기 등과 같은 공통적인 기능들을 인터페이스에 미리 정의하여 쓸 수 있기때문에 추상화의 특징을 가진다.

 

2. 다형성

하나의 인터페이스로 여러 자식들을 가질 수 있다는 점에서 다형성의 특징도 가지고 있다.

 

3. 상속성

객체지향의 특징 중 상속성같은 경우에는 속성과 기능을 부모로부터 물려받을 수 있다.

인터페이스를 구현한 구현체도 인터페이스가 가진 속성과 기능을 사용하기 때문에 결국엔 인터페이스를 물려받는것이라고 할 수 있다. 그래서 상속성까지 가지고 있는 것이다.

 

4. 캡슐화

인터페이스 내에서 메소드끼리 서로 호출은 하지 못한다.

그래서 내부의 private 메소드를 호출하며 로직을 숨길수 있는 형태가 아니기 때문에 캡슐화의 성질은 가지고 있지 않다.

728x90
반응형

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

[Java] 필드 주입시 생성자에 this 꼭 써야할까?  (0) 2023.06.05
[Java] @Override 꼭 적어야 하나?  (0) 2023.05.04
[Java] List<T> list = new ArrayList<>();  (0) 2023.04.25
[JAVA] 입력 받은 숫자가 소수인지 판단하는 문제 뜯어보기  (0) 2023.04.06
[JAVA] java 기본개념 (+ jshell)  (0) 2023.04.04
'개발/JAVA' 카테고리의 다른 글
  • [Java] 필드 주입시 생성자에 this 꼭 써야할까?
  • [Java] @Override 꼭 적어야 하나?
  • [Java] List<T> list = new ArrayList<>();
  • [JAVA] 입력 받은 숫자가 소수인지 판단하는 문제 뜯어보기
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    node.js
    node
    ERC721
    mysql
    go
    go언어
    js
    도커
    하이퍼레저
    erc20
    html
    블록체인
    CSS
    30일챌린지
    컨테이너
    30일 챌린지
    프로그래머스
    명령어
    nodejs
    React
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[Java] 인터페이스가 가진 객체지향의 특징
상단으로

티스토리툴바