객체 지향 프로그래밍에서 클래스는 아이템이 공통적으로 갖는 일반적인 특성을 나타냅니다. 클래스를 운송 수단(Vehicle)에 비유해서 생각해볼 수 있습니다. 운송 수단이 일반적으로 갖는 특성이 있고, 클래스는 이러한 특성들을 정의합니다. 객체는 한 클래스의 특정 어커런스입니다. 사용자가 운전하고 있는 특정 승용차가 운송 수단(vehicle) 클래스의 객체가 될 수 있습니다. 클래스 정의는 이 차, 즉 객체가 어떻게 작동하는지 결정합니다.

클래스는 클래스 객체와 관련된 데이터와 메소드를 정의합니다. 계속해서 운송 수단을 예로 들어 설명을 하겠습니다. 수많은 운송 수단이 세상에 존재합니다. 일반적으로 모든 타입의 승용차, 트럭, 버스를 운송 수단으로 분류할 수 있습니다. 운송 수단은 차체에는 문을, 변속기에는 기어를 갖고 있습니다. 차문과 변속기 기어의 개수에 대한 정보는 운송 수단에 대한 데이터라고 할 수 있습니다. 운송 수단에서 속도를 높일 수 있고 브레이크를 걸 수 도 있습니다. 가속 및 브레이크 걸기는 운송 수단의 동작, 혹은 메소드입니다. 운송 수단과 관련된 데이터와 메소드는 Vehicle 클래스를 정의합니다. 사용자는 객체의 데이터와 메소드를 정의하기 위해 클래스를 생성합니다. 다음 이미지는 Vehicle 클래스를 나타내는 LabVIEW 클래스를 보여줍니다. LabVIEW는 Vehicle 클래스의 데이터를 Vehicle.ctl에 저장하고 운송 수단의 메소드를 Start Vehicle VI 및 Stop Vehicle VI라는 이름의 VI에 저장합니다.

객체는 한 클래스의 특정 인스턴스입니다. 사용자가 운전 중인 운송 수단은 Vehicle 클래스의 특정 구현체 또는 Vehicle 클래스의 객체입니다. 다음의 Main VI 블록다이어그램은 Vehicle 클래스의 객체를 보여줍니다. 객체는 클래스에 의해 정의된 데이터와 메소드를 갖습니다. LabVIEW는 컨트롤에 클래스 데이터를 저장하고, 사용자는 LabVIEW 클래스의 메소드인 멤버 VI를 생성합니다.

LabVIEW 객체 지향 프로그래밍의 용도를 개념화하기 위해, LabVIEW 클래스 사용자를 다음과 같은 방법으로 구분할 수 있습니다:

  • LabVIEW 클래스 개발자―개발자와 프로그래머가 사용할 수 있도록 LabVIEW 클래스를 개발합니다. LabVIEW 클래스 개발자는 객체 지향 프로그래밍에 대한 사전 경험이 있습니다. LabVIEW 클래스 개발자는 LabVIEW 클래스와 클래스 구조를 이해해야 합니다.
  • LabVIEW 클래스 사용자―LabVIEW 클래스 개발자가 생성한 LabVIEW 클래스를 사용합니다. LabVIEW 클래스 사용자는 객체 지향 프로그래밍의 혜택을 누릴 수 있지만, 어플리케이션에서 이를 사용하기 위해 어떻게 클래스가 운영되는지 그 구조를 반드시 이해하지 않아도 되고 객체 지향 프로그래밍에 대한 사전 경험이 전무한 경우도 가능합니다. LabVIEW 클래스 개발자가 클래스를 배포한 후, LabVIEW 클래스 사용자는 클래스 내부 작업에 접근하지 못할 수 있습니다. LabVIEW 클래스 개발자가 LabVIEW 클래스를 변경하더라도 LabVIEW 클래스 사용자가 개발한 어플리케이션에는 최소한의 영향이 미쳐야 합니다.

LabVIEW 클래스 사용자가 LabVIEW 클래스를 어떻게 생성하는지를 알고 있을 필요는 없지만, 어플리케이션에서 클래스가 정의하는 데이터 타입을 어떻게 사용하는지와 LabVIEW 클래스를 사용하는 코드를 디버깅할 때 어떤 정보를 이용할 수 있는지, 그리고 새로운 버전의 LabVIEW 클래스가 프로그래머가 만든 어플리케이션에 어떤 영향을 미칠 수 있는지를 이해해야 합니다. LabVIEW 클래스를 개발하지 않고 사용하기만 하는 경우, 다른 개발자가 제공하는 LabVIEW 클래스 사용에 대한 구체적인 정보는 어플리케이션에서 LabVIEW 클래스 및 인터페이스 사용하기 토픽을 참조하십시오.