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 |