• 인터페이스란?
서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면
쉽게 말하자면
상호작용을 위해서 미리 정의된 약속
다른 클래스를 작성할 때 기본이 되는 틀
• 인터페이스 종류
① 사용자 인터페이스(User Interface = UI)
사람 - 프로그램 사이의 상호작용
- 좋은 사용성이 주된 목적임(쉽게 사용)
- 입출력으로 상호작용할 수 있음
② 하드웨어 인터페이스
하드웨어 장치 간 상호작용
- USB 충전기, USB 메모리 등의 USB를 사용하는 기기들은 USB 인터페이스를 사용해서 만들어진 것
③ 소프트웨어 인터페이스
컴퓨터의 하드웨어 동작을 지시하고 제어하는 것 = 소프트웨어
- 운영체제와 하드웨어 사이 인터페이스
- 운영체제와 응용 프로그램이 상호작용하는 인터페이스
- 객체 지향 프로그램에서 객체들 간의 상호작용을 돕는 메소드
• 인터페이스 특징
- 직관적인 입출력 -> "SIMPLE IS THE BEST" 명확하게 설계하는 것이 중요함!
- 성능 요구사항 -> 5초안에는 어떤 응답이든 리턴 되어야 한다
- 하위호환지원 -> 신버전이 있더라도 구버전 인터페이스를 지원해야 함
- 쉬운 접근성과 대중성 -> 누구나 알게 만들어야 함
• 인터페이스 장점
- 표준화가 가능해짐 -> 클래스의 기본 틀을 제공
- 개발 시간 단축 -> 규약만 정해두고 각자 부분을 나눠서 코드 작성 가능
- 결합도 낮출 수 있음 -> 코드 종속성을 줄이고 유지보수하기 쉽게 만들어줌