Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바
- Mac
- abex'crackme
- 온프레미스
- Python
- AI
- Repository
- 리버싱
- RIP
- dreamhack
- vlan
- Screening Router
- 크롤러
- cmd
- docker
- bastion host
- 암호학
- Firewall
- vector
- 인공지능
- Reversing
- 라우터
- Java
- AWS
- 머신러닝
- 네트워크
- CISCO
- STP
- 스위치
- 머신러닝 프로세스
Archives
- Today
- Total
Haekt‘s log
[JAVA] interface란? 본문
예시를 들어 설명하겠습니다.
한 A 기업이 P프로그램을 출시했습니다. 그런데 타 B기업이 P프로그램의 기능을 빌려
업그레이드 된 새로운 P프로그램을 만들어 판매하려고 합니다.
그래서 A기업이 기능을 이용해도 되니 무조건 ~~ 기능은 유지하고, 우리 A기업의 출처를 남겨라 라는 조건을 걸었습니다.
이 때 무조건 ~~해라 라고 강제하는 것이 바로 interface입니다.
- interface
interface 는 동일한 목적하에 동일한 기능을 수행하게끔 강제하는 것으로,
자바의 다형성을 극대화 하여 개발 코드 수정을 줄이고, 프로그램 유지보수성을 높이기 위해 사용한다.
인터페이스를 선언하는 방법은 클래스 선언과 비슷하게 interface [이름] 을 입력한다.
다음과 같다.
interface AA{
// ex) public void a1();
// ex) void b1();
}
반대로 인터페이스를 쓰는 클래스는 상속(extends)과 비슷하게 implements [이름] 를 작성한다
다음과 같다.
public class Test implements AA{ // implements 를 붙여 인터페이스 사용
// ex) public void a1() {} // interface AA 에서 강제한 함수
// ex) public void b1() {} // interface AA 에서 강제한 함수 접근제어시 반드시 public
}
AA interface안에 선언한 함수는 무조건 강제로 써야 하므로,
안쓰는 함수라 해도 항상 인터페이스를 사용한 클래스는 안에 함수를 정의해 줘야한다.
* 영단어로 implements 는 도구라는 뜻이다.
'언어 > JAVA' 카테고리의 다른 글
[JAVA] Collection Framework (1) | 2022.10.04 |
---|---|
[JAVA] 추상 메소드 abstract란? (0) | 2022.10.03 |
[JAVA] 접근 제어 (2) | 2022.10.03 |
[JAVA] 변수 상수 처리하기 (1) | 2022.10.03 |
[JAVA] 스캐너 클래스를 이용한 인수 입력 & args 입력 (1) | 2022.10.03 |
Comments