Federico Mena Quintero federico@gnome.org 2013 시그널 및 슬롯을 갖춘 C 기반 객체 및 형식 시스템 조성호 shcho@gnome.org 2016, 2017. GObject

GObject는 C 프로그램에 객체 및 형식 시스템을 도입하는 GLib 라이브러리의 일부입니다. C 언어에서 객체 또는 클래스를 (문법적으로) 제공하지는 않지만, GObject는 객체지향 C 프로그램을 작성할 수 있게 해줍니다.

GObject에서는 근본적으로 정수형 및 문자열 형식을 전달하는 전체 형식 시스템의 근간인 GType을 제공합니다. 모든 기타 클래스의 기반 클래스인 GObject 그 자체가 있습니다. 어떤 흥미로운 동작이 일어났을 때 호출자에게 알리는 시그널을 뿌릴 수 있습니다. 예를 들어 Button 객체는 눌리고 뗀 상황을 나타내는 clicked 시그널을 보낼 수 있습니다.

GObject is introspectable, which means that you can ask the GObject system for the class types that are defined, the methods they support, their signals, etc. GNOME's language bindings are built on top of this introspection information. Instead of writing wrappers by hand to let GNOME APIs be called from other programming languages, language bindings use the introspection information from GObject to auto-generate those wrappers themselves.

보통 그놈 기반으로 객체 지향 프로그래밍을 진행할 때 GObject 자체를 신경 쓸 필요가 없습니다. 그러나 시그널/슬롯 같은 GObject 개념에 익숙하면, 그놈 프로그래머 입장에서 편해집니다.

GObject 참고 설명서