메타 클래스 란?
메타 클래스는 객체 지향 프로그래밍 (OOP)에서 사용되며 일반적으로 클래스의 클래스로 생각됩니다. 대부분의 메타 정보와 마찬가지로 메타 클래스는 프로그램 뒤에서 작동하며 사용자에게는 보이지 않습니다. 메타 클래스는 클래스의 정보를 수정할 수 있으며 코딩 구조에 따라 하나 이상의 클래스에 연결될 수 있습니다. 모든 OOP 구조에 메타 오브젝트 코딩이 포함 된 것은 아니며 일부는 고급 형식의 메타 오브젝트 코딩 만 제공 할 수도 있습니다.
거의 모든 유형의 코딩에서 메타 코딩은 프로그램에서 작동하는 태그 또는 코드 라인이지만 사용자가 눈에 잘 띄지 않습니다. 메타 정보는 코드 위에 있으며 프로그램을 직접 방해하지 않고 정보를 수정하거나 프로그램에 추가 할 수 있습니다. OOP에서 메타 클래스는 클래스를 가져 와서 동작을 수정하는 데 사용됩니다.
OOP의 클래스는 하나의 포괄적 용어 아래에 배치 된 인스턴스 또는 객체 세트입니다. 예를 들어, 프로그래머는 "하우스"라는 클래스를 만들 수 있습니다.이 아래에서 프로그래머는 방, 가구 및 사람과 같이 집에서 일반적으로 발견되는 측면을 수정하거나 재현하는 객체를 만듭니다. 클래스는 이러한 객체를 수정할 수 있지만 메타 클래스는 클래스 자체를 수정하는 작업을합니다.
OOP의 클래스는 일반적으로 동적이며 프로그램이 완료되기 전에 많은 변경이있을 수 있습니다. 메타 클래스는 프로그래머가 메타 정보가 올바르게 작동하지 않는 것을 발견하지 않는 한 거의 변하지 않는 정적 정보 조각입니다. 이를 통해 메타 클래스가 실수로 휘발성 데이터를 처리하지 못하도록하고 동작 수정자를 조작 할 수 없습니다.
프로그래머의 필요에 따라 메타 클래스는 단일 클래스 또는 여러 클래스에 한 번에 연결됩니다. 프로그래머는 대부분 메타 클래스를 하나의 클래스에 연결하고 메타 규칙 코딩에 고유 한 규칙 또는 동작을 추가합니다. 모두 동일한 동작 수정을 수행 할 수있는 여러 클래스가 있으면 메타 정보가 여러 다른 클래스에 적용됩니다. 메타 오브젝트 코딩은 제목이 있고 필요할 때마다 쉽게 호출 할 수 있기 때문에 가능합니다.
중급에서 고급 프로그램까지 일반적으로 발생하지만 일부 OOP 구조는 메타 클래스를 제공하지 않습니다. 그 이유는 그것들이 필요하지 않거나 비슷한 기능을 가지고 있지만 다른 것으로 불리는 다른 객체 나 클래스가 있기 때문입니다. 일부 코딩 구조는 복잡하고 고급 메타 클래스 만 제공 할 수 있으며 다른 코딩 구조는 중간 코더가 사용할 수있는 간단한 메타 클래스를 제공합니다.