LabVIEW 클래스는 객체와 관련된 데이터 뿐만 아니라 데이터를 실행할 수 있는 메소드를 정의합니다. 다른 객체지향 프로그래밍 언어와 동일하게 캡슐화와 상속을 통해서 코드에 대한 모듈화도 가능합니다. 하지만 LabVIEW OOP와 타 OOP언어와의 차이도 있습니다. 바로 데이터를 처리하는 프로퍼티의 공개 범위인데요. 프로퍼티의 경우 Private의 타입으로만 사용을 할 수 있습니다. 따라서 컨트롤에 포함이 되는 프로퍼티의 값을 설정 및 가져오기 위해서는 Set/Get 함수를 VI를 통해서 개발해야 합니다. LabVIEW 클래스의 확장자는 .lvclass 입니다. LabVIEW 클래스를 만들기 이전에 캡슐화에 대해서 이야기를 해볼까 합니다. LabVIEW OOP의 캡슐화 LabVIEW의 클래스는 데이터와..
안녕하세요. 구스입니다. 이 글에서는 높은 유연성과 유지보수성을 가진 LabVIEW 코드를 개발하는 효율적인 방법론에 대해서 이야기해볼까 합니다. 일반적인 LabVIEW 코드는 프로그래밍 방법론 중 절차지향적 프로그래밍 방법론을 사용하게 됩니다. DAQmx는 물론, Serial 통신, MI 제품군의 예제코드 모두 절차지향적으로 만들어져 있으며, LabVIEW와 G언어의 특성상 왼쪽에서 오른쪽으로 프로세스가 진행이 되도록 구현이 되어 있습니다. 이러한 방법론은 개발속도가 빠르다는 장점을 가지고 있지만, 유지보수에 대한 부분이 취약하다는 약점을 가지고 있습니다. 자 그림을 하나 봅시다. 일반적인 LabVIEW 프로그래머 혹은 텍스트언어 프로그래머들은 초록색 라인과 같은 프로세스을 이용하여 개발을 하게 됩니다..
1. 개요 C#의 가장 중요한 요소는 완벽한 객체 지향 언어라는 점입니다. C#은 C++과 Java와 같이 객체지향 언어의 이점을 가지고 있으며, OOP 경험을 향상 시키는 몇가지 추가적인 요소가 있습니다. 객체지향 이외에도, C#은 소프트웨어 시스템 개발 시 쉽게 재사용할 수 있는 블랙 박스 엔티티의 개념을 가지고 있는 컴포넌트의 생성에 대한 기능이 디자인되었다는 점입니다. 이 글에서는 객체지향 언어가 무엇인지에 대한 큰 그림을 그릴 것입니다. 또한 객체, 클래스, 추상화, 캡슐화, 상속 및 다형성에 대해서 논할 것입니다. 이 내용에 대한 C#에 부분을 살펴볼 것입니다. 소프트웨어 재사용을 용이하게 하는 방식으로 객체 지향 프로그래밍의 생각을 확장할 수 있는 컴포넌트에 대한 소개와 함께 결론을 지을 것..
[프로그래밍 방법론] 효율적 클래스 설계 방법 - Clean Code 이 글은 Clean Code 책의 내용을 정리한 것입니다. 코드의 표현력과 코드로 이루어진 함수에 아무리 신경을 쓸지라도 좀 더 차원 높은 단계까지 신경 쓰지 않으면 깨끗한 코드를 얻기는 어렵습니다. 이 글에서는 깨끗한 클래스에 대해서 정리하겠습니다. 1. 클래스 체계와 캡슐화 표준 자바 관례에 따르면 변수 목록, 함수 목록순으로 나옵니다. 변수는 정적 공개 상수, 정적 비공개 상수, 비공개 인스턴스가 나오고 공개변수가 필요한 경우는 거의 없습니다. 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야 한다는 법칙도 없습니다. 하지만 비공개 상태를 유지할 온갖 방법을 강구해야 하며, 캡슐화를 풀어주는 결정은 언제나 최..