LabVIEW 인터페이스
- 업데이트 날짜:2025-08-27
- 3분 (읽기 시간)
LabVIEW에서 인터페이스는 프라이빗 데이터 컨트롤이 없는 클래스라고 생각할 수 있지만, 그 작은 차이로 인해 소프트웨어 구조에서 인터페이스를 클래스와는 전혀 다른 용도로 사용할 수 있습니다. 구체적으로, 인터페이스에서는 다중 상속이 가능합니다.
인터페이스는 객체가 그 역할을 수행하는 방법을 정의하지 않고 수행할 수 있는 역할을 선언합니다. 인터페이스에서 상속함으로써 클래스는 객체가 해당 역할을 수행한다고 선언하며 동작 수행 방법을 지정하는 책임을 갖게 됩니다. 클래스가 여러 인터페이스를 상속하는 경우, 해당 객체를 다른 역할을 필요로 하는 여러 소프트웨어 모듈에 전달할 수 있습니다.
다음 프로젝트에는 다양한 도구의 여러 하위 클래스를 가진 도구 클래스가 포함되어 있습니다. 또한 이 프로젝트에는 레버 인터페이스가 포함되어 있습니다. 도구 클래스에는 클래스의 데이터를 정의하는 컨트롤이 있지만 인터페이스에는 프라이빗 데이터가 없기 때문에 레버 인터페이스에는 컨트롤이 없습니다. 클래스는 단색 큐브
로 표시됩니다. 인터페이스는 큐브의 면들
로 표시됩니다 인터페이스와 클래스는 같은 파일 확장자 .lvclass를 사용합니다.
다음 이미지는 도구 클래스, 집 키 클래스 및 레버 인터페이스 간의 상속 관계를 보여줍니다. 도구 클래스와 레버 인터페이스는 모두 LabVIEW 객체를 상속합니다. 또한 쇠지레 도구 클래스 및 일자 드라이버 클래스도 자신만의 메소드 및 각 상위 클래스에 대해 고유한 메소드를 갖는 것 외에도 레버로도 사용될 수 있기 때문에 레버 인터페이스를 상속합니다. 이들은 레버 인터페이스의 메소드를 상속합니다. 레버는 클래스가 아닌 인터페이스이므로 이 다중 상속에는 문제가 없습니다. 서로 관련이 없는 3개의 클래스 (쇠지레 도구, 일자 드라이버, 집 키)에는 LabVIEW 객체 이외의 공통 상위 항목 (레버)이 있습니다.
인터페이스 명명 권장 방법
다음 가이드라인에 따라 생성한 인터페이스에 인터페이스의 목적을 나타내는 이름을 지정합니다.
- 객체가 인터페이스를 상속하는 경우, 객체의 기능을 설명하는 형용사나 부사를 사용합니다. 예를 들어, 인터페이스가 전압을 측정할 수있는 하드웨어를 나타내는 경우, 인터페이스의 이름을 Can Measure Voltage.lvclass로 지정합니다. 해당 인터페이스를 상속하는 모든 클래스나 인터페이스는 전압을 측정할 수 있습니다.
- 인터페이스에서 상속하는 클래스의 항목을 설명하는 명사를 사용하십시오. 예를 들어 인터페이스가 레버 도구를 나타내는 클래스의 항목을 설명하는 경우, 인터페이스 이름을 Lever.lvclass로 지정합니다.
- 이름의 시작 부분에 대문자 "I"를 사용하지 마십시오. 대부분의 텍스트 프로그래밍 언어에서는 인터페이스를 클래스와 구별하기 위해 일반적으로 인터페이스 이름 앞에 대문자 'I'를 붙이지만, LabVIEW는 문양을 사용하여 인터페이스와 클래스를 구별합니다. 또한 LabVIEW 개발 환경의 대부분은 의도적으로 클래스와 인터페이스를 동일하게 취급합니다. 메소드 호출자는 일반적으로 기본 타입이 인터페이스인지 클래스인지 상관하지 않습니다. 따라서 "I"를 사용하는 것을 피함으로써 호출자 코드를 리팩토링하지 않고 클래스를 인터페이스로 또는 그 반대로 변환할 수 있습니다.
인터페이스 사용에 대한 예제는 다음 프로젝트를 참조하십시오.
- labview\examples\Object-Oriented Programming\Basic Interfaces\Basic Interfaces.lvproj
- labview\examples\Object-Oriented Programming\Actors and Interfaces\Actors and Interfaces.lvproj