사물지향과 사물화: 소프트웨어 모델링의 새로운 패러다임
초록
본 논문은 전통적인 객체지향 모델링을 보완하고 확장하기 위해 ‘thing(사물)’ 개념을 도입한 사물지향 모델링(thing-oriented modeling, TOM)을 제안한다. 분석 단계에서 객체를 사물로 재구성함으로써 객체지향의 한계점을 보완하고, 새로운 표기법 및 설계 옵션을 제공한다는 점을 강조한다.
상세 분석
이 논문은 소프트웨어 공학에서 가장 널리 사용되는 객체지향(OOP) 패러다임을 비판적으로 검토하고, 그 대안으로 ‘thing(사물)’이라는 개념을 도입한다. 저자는 객체가 ‘데이터와 행위’를 하나의 캡슐에 묶는 구조라면, 사물은 보다 포괄적인 존재로서 물리적·추상적 경계를 초월한다는 점을 강조한다. 이를 위해 기존의 객체지향 설계 예시들을 사물지향 모델링(TOM)으로 재해석한다. 주요 기술적 차별점은 다음과 같다. 첫째, 사물은 상태(state)와 변환(transformation)을 명시적으로 구분한다. 객체는 메서드 내부에서 상태 변화를 은닉하지만, 사물은 변환 흐름을 다이어그램 형태로 외부에 드러낸다. 둘째, 사물은 ‘관계’를 단순한 연관(association)이나 상속(inheritance)으로 제한하지 않는다. 대신 ‘흐름(flow)’과 ‘연결(connection)’이라는 두 축을 통해 동적 상호작용을 모델링한다. 셋째, 사물지향은 ‘경계(boundary)’ 개념을 강화한다. 객체는 클래스 정의에 의해 경계가 고정되지만, 사물은 상황에 따라 경계가 가변적이며, 이는 시스템 분석 단계에서 요구사항 변화에 유연하게 대응할 수 있게 한다. 논문은 이러한 차이를 구체적인 사례(예: 은행 계좌, 주문 처리 시스템)로 보여주며, 사물 모델이 객체 모델보다 흐름 중심의 이해를 돕고, 복잡한 비즈니스 로직을 시각적으로 명확히 표현한다는 점을 입증한다. 또한, 사물지향이 기존 객체지향을 완전히 대체하기보다는 보완적인 표기법으로 활용될 수 있음을 제시한다. 저자는 향후 연구 방향으로 사물 기반의 코드 생성, 실행 시 시뮬레이션, 그리고 다른 모델링 언어와의 통합 가능성을 제시한다. 전체적으로 이 논문은 객체지향의 한계(캡슐화의 과도한 은닉, 상속 구조의 경직성 등)를 보완하고, 시스템 분석 단계에서 보다 직관적인 사고 도구를 제공하려는 시도로 평가할 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기