일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 오라클 DROP
- Spring Cookie
- DDL DROP
- Mybatis 오류
- JSR - 303
- 자바오류
- JSR - 380
- Dependency Injection
- annotation
- 자바스크립트
- DDL TRUNCATE
- Spring message
- Spring 커맨드 객체
- properties 파일 주입
- 스프링 파라미터 추출
- 스프링 인터셉터
- properties 파일
- ddl alter
- Servlet cookie
- 오라클 TRUNCATE
- Spring
- Spring MVC Interceptor
- 오라클 CREATE
- collection framework
- 자바
- properties 변수
- Spring 객체로 주입받기
- 코드로 배우는 스프링 웹 프로젝트
- 자바 List
- Spring MVC5 기본 세팅
- Today
- Total
개발이좋아
[Java] 인터페이스 Interface 본문
인터페이스는 쉽게 생각해서 작업명세서라고 생각하면 된다.
해야할 일이 적혀 있어서 그 명세서를 가지고 실제로 일을 한다고 생각하면 이해하기 쉽다.
인터페이스는 추상 메서드와 상수로만 이루어져있으며 구현되어 있는 코드가 없기 때문에 객체를 생성할 수도 없다.
인터페이스는 클래스 파일에서 implements키워드를 통해 인터페이스를 사용할 수 있다.
자바 인터페이스는 프로젝트에서 New -> Interface를 클릭하여 인터페이스 파일을 생성할 수 있다.
인터페이스에서 선언한 변수는 컴파일시 상수로 변환이 되고 메서드는 abstract 예약어가 없지만 컴파일 할 때 추상메서드로 변환된다.
클래스에서 implement 예약어를 사용해 인터페이스를 구현할 수 있다.
위 사진에서는 오류가 나고 있는데 그 이유는 Calc의 메서드를 구현하고 있지 않기 때문이다.
클래스에서 인터페이스를 구현하면 인터페이스의 정의한 메서드를 전부 구현해야 한다.
인터페이스 구현은 라인 옆에 있는 오류 표시를 클릭해서 Add unimplemented methods를 클릭하면 쉽게 구현 할 수 있다.
CalcImpl 클래스에서 Calc 인터페이스를 구현한 모습이다.
또한 클래스에서 여러 인터페이스를 구현하는 것도 가능하다.
위와 같이 인터페이스를 구현한 클래스를 객체화해서 메서드의 접근할 수 있다.
인터페이스는 구현부가 없는 껍데기이다.
만약 클래스에서 여러개의 인터페이스를 구현하고 있고 그 인터페이스중 하나를 수정해야 한다면 다른 코드는 손 볼 필요 없이 해당 인터페이스만을 수정할 수 있다.
또한 다른 인터페이스의 기능이 필요가 없어지면 implements 예약어에서 해당 인터페이스를 지우기만 하면 된다.
인터페이스를 사용하면 유지보수가 쉬워지며 다형성을 구현하기도 간단하다.
"본 포스팅은 필자가 공부한 것을 정리해놓은 것으로 오류가 존재할 수 있습니다."
'Java' 카테고리의 다른 글
[Java]생성자 Constructor (0) | 2019.12.04 |
---|---|
[Java] 상속(inheritance) (0) | 2019.12.03 |
[Java] this 키워드 (0) | 2019.12.01 |
[Java] 람다식 (0) | 2019.11.29 |
[Java] 제어문1 - 조건문 (0) | 2019.11.27 |