Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

오브젝트 파스칼 핸드북: 델파이 12 알렉산드리아 에디션의 용어집


Recommended Posts

오브젝트 파스칼 핸드북: 델파이 12 알렉산드리아 에디션의 용어집을 공개합니다.

 

A

추상 클래스 (Abstract class)

완전하게 정의되지 않고 메서드의 인터페이스만 제공하는 클래스다. 그 서브-클래스는 해당 메서드를 구현해야 한다.

모호한 호출 (Ambiguous call)

컴파일러가 함수 호출을 해석하는 옵션이 두 개 이상인데, 자동으로 하나를 결정할 방법이 없는 경우, 여러분이 만나게 되는 오류 메시지다.

안드로이드 (Android)

구글의 모바일 장비용 운영체제의 이름이다. (구글 외에) 수백 개의 하드웨어 공급업체가 채택하고 있다. 오픈 OS이기 때문이다. 안드로이드는 현재 전 세계에서 가장 많이 쓰이는 운영체제다. 마이크로소프트 윈도우를 넘어섰다.

익명 메서드 (Anonymous method)

익명 메서드, 또는 익명 함수는 함수 이름이 연결되지 않은 함수다. 변수에 할당되거나 다른 함수에 파라미터로 전달될 수 있다. 그래서 그 코드는 나중에 실행될 수 있다.
익명 메서드는 일반 함수와 비교하면 조금 마법과도 같다. 정말 신기하게도, 익명 메서드가 결국 실행되는 곳은 다른 코드 블록의 안이지만, 자신이 선언된 블록 안에 있는 변수에 접근할 수 있다.

익명 함수 그리고 그 함수가 접근할 수 있는 변수들을 하나의 클로저closure라고 한다. 클로저는 익명 메서드의 또 다른 이름이다.

API

API(Application Programming Interface, 애플리케이션 프로그래밍 인터페이스)는 운영체제 등 소프트웨어가 제공한다. 애플리케이션 프로그램들이 그 소프트웨어와 소통하고 동작할 수 있도록 하기 위해서다. 예를 들어, 애플리케이션이 화면에 텍스트 한 줄을 표시할 때는, 통상적으로 운영체제 안에 있는 함수를 호출하여 해당 GUI를 핸들링 하도록 한다. 이때 그 운영체제의 GUI와 인터페이스 할 수 있도록 제공되는 함수들의 모음을 그 운영체제 GUI의 API라고 한다.일반적으로, 소프트웨어에서 제공하는 API는 자신이 작성된 그 언어로 되어 있다. 예를 들어, 마이크로소프트 윈도우는 C/C++로 작성되었고, C와 C++에 맞춰진 API를 제공한다.

참고: 오브젝트 파스칼의 WinAPI.Windows 유닛은 오브젝트 파스칼 API를 제공하여 마이크로소프트 윈도우에 접근할 수 있도록 한다. 따라서, C/C++용으로 작성된 함수를 직접 호출하는 번거로움이 없다.

B

불리언 표현식 (Boolean expression)

George Boole이라는 유명한 수학자의 이름을 땄다. 불리언 표현식은 True 또는 False로 평가되는 표현식이다. 간단한 예시로는 1=2이 있다. 이것은 False가 된다. 불리언 표현식은 전통적인 수학적 표현식일 필요는 없다. 그저 불리언인 변수이어도 되고, 불리언 값을 반환하는 함수에 대한 호출이어도 된다.

C

기수 (Cardinal)

기수는 일종의 자연수다. 간단히 말해, 사물을 세는 데 쓸 수 있는 숫자이다. 그러니 항상 0보다 크거나 같다.

클래스 (Class)

클래스는 (그 클래스의) 오브젝트가 생성될 때 가지게 될 프로퍼티, 메서드, 데이터 필드에 대한 정의definition다.

참고: 모든 객체 지향 언어들이 클래스로만 객체를 정의하는 것은 않는다. JavaScript, IO, Rebol에서는 클래스를 먼저 정의하지 않고 오브젝트를 직접 정의할 수 있다.

참고: 오브젝트 파스칼에서, 레코드 정의는 클래스 정의와 매우 비슷하다. 레코드의 멤버는 클래스의 프로퍼티와 같은 기능을 한다. 또한 레코드의 프로시저와 함수는 클래스의 메서드와 같은 기능을 한다.

코드 포인트 (Code point)

유니코드 문자 집합의 요소가 저마다 가지고 있는 고유한 숫자 값. 세상의 문자 집합들 안에 있는 모든 문자, 숫자, 구두점은 저마다 자신을 가리키는 유니코드 코드 포인트가 있다.

컴파일러 지시어 (Compiler directive)

컴파일러 지시어는 특별한 명령이다. 컴파일러가 자신의 표준 동작을 바꾸도록 한다. 컴파일러 지시어를 넣으려면 $ 기호로 시작하는 특별한 단어를 적어 넣는다. 또는 프로젝트 옵션(Project Options)에서 설정할 수도 있다.

참고: 컴파일러 지시어들 중에는 긴 이름을 줄여 한 글자로 쓰는 것들이 있다. 매우 오래된 것들이 그렇다.

컴포넌트 (Components)

컴포넌트들은 미리 만들어져 있고, 바로 사용할 수 있는 코드 오브젝트들이다. 이 코드 오브젝트들은 애플리케이션과 기타 다른 컴포넌트들과 손쉽게 합쳐질 수 있다. 그래서 애플리케이션 개발에 드는 시간을 크게 줄인다.

VCL와 파이어몽키 라이브러리는 이런 컴포넌트들이 잔뜩 있는 방대한 모음이며, 델파이와 함께 제공된다.

컴포넌트 오브젝트 모델 (COM)

COM(Component Object Model) 즉 컴포넌트 오브젝트 모델은 마이크로소프트 윈도우 설계 구조의 핵심이다.

컨트롤 (Control)

컨트롤은 GUI 요소다. 버튼, 텍스트 입력 필드, 이미지 컨테이너 등등이 해당된다. 시각적 컴포넌트visual component를 가리킬 때 컨트롤이란 용어가 종종 사용된다.

CPU

중앙 처리 장치(Central Processing Unit, CPU)는 모든 컴퓨터의 핵심이며 코드를 실제로 실행한다. 오브젝트 파스칼 언어의 문장은 CPU가 이해하도록 어셈블리assembly 코드로 번역되어야 한다. CPU 뷰어를 델파이의 디버거에서 쓸 수 있다는 점도 알아두자. CPU는 종종 FPU(같은 틀에 통합되어 있음)와 함께 작동한다.

 

D

데이터 타입 (Data type)

데이터 타입은 저장 요구 조건 그리고 그 타입의 변수에 대해 수행할 수 있는 동작들을 가리킨다. 오브젝트 파스칼에서는, 타입이 엄격한 다른 프로그래밍 언어와 마찬가지로, 변수는 저마다 특정 데이터 타입을 가진다.

디자인 패턴 (Design patterns)

다양한 개발자들이 다양한 문제를 해결하기 위해 사용하는 소프트웨어 아키텍처들을 살펴보면 유사점과 공통 요소들이 있음을 알 수 있다. 디자인 패턴은 이런 공통 설계design에 대한 승인acknowledgment이다. 표준화된 방식으로 표현되며, 다양한 상황에 적용할 수 있도록 충분히 추상화되어 있다.
소프트웨어 세상의 디자인 패턴 운동은 1994년 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides가 “Design Patterns, Elements of Reusable Object-Oriented Software” (Addison-Wesley, 1994, ISBN: 0-201-633612)라는 책을 쓰면서 시작되었다.
이 저자들은 종종 “Gang of Four(네 명의 갱)” 간단히 줄여서 “GoF” 라고 불린다.
그래서 이 책 역시 “GoF 책”이라고 부르기도 한다.
GoF 책에서 저자들은 소프트웨어 패턴의 개념을 설명하고 이를 서술하는 정확한 방법을 제시한다. 이 책은 23 가지 패턴들을 나열한다. 크게 3 그룹 즉 생성 패턴, 구조 패턴, 동작 패턴으로 구분되어 있다.

DLL

동적 연결 라이브러리(Dynamic Link Library, DLL)은 함수 라이브러리다. 애플리케이션의 실행 코드 안에 포함되지 않고 별도의 파일 안에 저장된다. 그리고 애플리케이션이 실행될 때, 그 라이브러리가 메모리 안에 적재되어 그 안의 함수들이 호출될 수 있게 된다. 이런 라이브러리들은 주로 많은 애플리케이션들이 사용할 수 있도록 설계된다. 윈도우 플랫폼 밖에서는, 이런 라이브러리를 공유 오브젝트(Shared Object, SO)라고 부른다.

E

이벤트 (Event)

이벤트는 애플리케이션에서 발생되는 액션 즉 동작이다. 예를 들어, 마우스 클릭, 폼 크기 조절 등이다. 델파이에서 이벤트 구현은 클래스의 특별한 프로퍼티를 사용한다. 그 방식을 통해 오브젝트는 일부 “행동”을 외부 메서드에게 위임할 수 있다. 이벤트는 RAD 개발 모델의 한 축이다.

F

파이어몽키 (FireMonkey)

파이어몽키(또는 FMX)는 델파이에서 제공하는 시각적 및 비시각적 컴포넌트 라이브러리다 (델파이의 UI 라이브러리로는 FMX뿐만 아니라 VCL 라이브러리도 함께 제공됨). 이 컴포넌트들은 크로스-플랫폼cross-platform이다. 즉, 윈도우, 맥OS, iOS, 안드로이드, 심지어 리눅스(FMXLinux 애드-온 라이브러리가 필요함)에서 똑같이 동작한다.

폼 (Form)

VCL과 FireMonkey 라이브러리에서 사용하는 창window을 가리키는 용어다.

파일 시스템 (File system)

파일 시스템은 컴퓨터 운영체제의 일부다. 어떻게 데이터가 컴퓨터에 저장되는지 정돈하며 데이터 저장과 추출을 관리한다.

FPU

부동 소수점 연산기(Floating Point Unit, FPU)는 CPU에 동반된다. 복잡한 부동 소수점 숫자 계산을 매우 빠르게 수행하는 데 특화되어 있다.

함수 (Function)

함수는 일종의 코드 블록이다. 몇 가지 동작(과 계산)을 수행하고 그 결과를 반환한다. 함수는 미리 지정된 개수의 파라미터를 받아서 동작할 수도 있다. procedure와 method도 용어집에서 참고하라.

G

전역 메모리 (Global memory)

전역 메모리는 일종의 정적 메모리static memory다. 여러분의 애플리케이션에 있는 전역 변수global variable들을 위한 곳이다. 이 메모리는 애플리케이션의 전체 수명 동안 사용된다. 그리고 그 공간은 늘어나지 않는다. 이와 달리 힙heap은 동적으로 할당되는 메모리 영역을 제공한다. 오브젝트 파스칼 애플리케이션은 전역 메모리를 아껴서 사용한다.

GUI

그래픽 사용자 인터페이스(Graphical User Interface, GUI)는 사용자가 그래픽 아이콘과 기타 시각적 표현들을 통해 컴퓨터, 태블릿, 폰과 상호작용할 수 있도록 한다. GUI를 사용하는 사용자 상호작용의 대부분은 찍기, 터치, 누르기, 쓸기 및 기타 제스처들을 이며 마우스 (또는 이와 비슷한 포인팅 장치) 또는 손가락을 사용한다.

H

힙 메모리 (Heap memory)

힙은 일종의 메모리 공간이다. 동적으로 할당되는 메모리 블록들이 여기에 들어 간다. 이름에서 알 수 있겠지만, 힙 메모리 할당에는 정해진 구조와 순서가 없다. 블록이 필요하면 그때마다 빈 영역에서 가져온다. 블록마다 그 수명이 다르며, 할당 순서와 해제 순서는 서로 관계가 없다. 힙 메모리는 오브젝트, 문자열, 동적 배열, 기타 참조 (용어집 ' Reference' 참고) 타입들의 데이터가 사용한다. 그런데, 수동으로 할당하는 블록(용어집 'Pointer' 참고)들도 힙을 사용한다. 힙은 매우 크다. 하지만 무한하지 않다. 여러분이 만약 사용하지 않는 오브젝트를 메모리에서 해제하지 않는 경우에는, 그 애플리케이션은 결국 메모리 부족run out of memory에 처하게 될 것이다.

I

통합 개발 환경 (IDE)

IDE (Integrated Development Environment) 즉 통합 개발 환경은 단일 애플리케이션이다. 개발자에게 다양한 도구를 제공하여 생산성을 크게 높여준다. IDE는 최소한 소스 코드 편집기, 빌드 자동화 도구, 디버거를 제공해야 한다. IDE에 대한 현대적인 아이디어의 발명은 (볼랜드가 내놓은)터보 파스칼 컴파일러들과 함께 시작됐다. 이는 지금 엠바카데로 테크놀로지가 만들고 있는 오브젝트 파스칼 IDE의 전신이다.
델파이가 제공하는 오브젝트 파스칼 IDE는 매우 복합적이다. 예를 들어, GUI 디자이너, 코드 템플릿, 리팩토링, 내장된 유닛 테스트 등이 들어 있다.

타입 상속 (Type inheritance)

타입 상속은 객체 지향 프로그래밍(OOP)의 핵심 원칙 중 하나다. 한 데이터 타입이 기존 데이터 타입을 확장해 새 기능을 추가할 수 있다는 아이디어다. 이런 타입 확장을 타입 상속이라고 한다. 기반 클래스와 자손 클래스, 부모 클래스와 자식 클래스 등의 용어들이 함께 사용된다.

인터페이스 (Interface)

대체로, 소프트웨어 모듈이 수행하는 일에 대한 추상 선언을 가리키는 말이다. C#이나 Java처럼, 오브젝트 파스칼에서는 인터페이스를 순수한 추상 클래스(데이터가 없으며 메서드로만 구성됨)로 정의한다 (전체 설명은 11장을 참고).
또한, 이 언어에는 unit에도 인터페이스 개념이 있다. 유닛 안의 인터페이스 구역에 선언된 내용들은 다른 유닛에게 보여진다. 두 경우 모두, 사용되는 키워드는 interface다.

iOS

애플의 모바일 장치를 구동하는 운영체제의 이름이다.

M

macOS

애플 맥 컴퓨터의 운영체제 이름이다. 예전에는 OS X로 알려졌었다.

메서드 (Method)

메서드는 함수 또는 프로시저다. 그런데, 오브젝트에 묶여 있다. 메서드들은 자신이 속한 오브젝트 안에 저장된 모든 데이터에 접근할 수 있다.

O

오브젝트 (Object)

오브젝트는 데이터 항목(프로퍼티와 필드)들과 코드(메서드)들의 조합이다. 오브젝트는 클래스의 인스턴스다. 클래스는 오브젝트가 소속되는 가족(즉 타입)을 정의한다.

OOP

객체 지향 프로그래밍(object-oriented programming, OOP)는 오브젝트 파스칼을 받쳐주는 모델이다. 클래스, 상속, 다형성과 같은 개념들을 기반으로 한다. 현대 오브젝트 파스칼은 다른 프로그래밍 패러다임들도 지원한다. 제네릭, 익명 메서드, 리플렉션 같은 기능들 덕분이다.

순서 타입 (Ordinal type)

순서 타입은 셀 수 있으며 순서가 정해진 요소들을 담는 데이터 타입이다. 정수를 생각하면 된다. 그런데, 문자에도 순서가 있다. 사용자 지정 열거 타입도 마찬가지다.

오버로딩 (Overloading)

함수 오버로딩은 변수 타입에 엄격한 프로그래밍 언어의 특징 중 하나이다. 프로그래머는 함수 하나에 대해 여러 다양한 버전을 선언할 수 있다. 함수의 다양한 버전들은 서로 다른 파라미터 타입들을 받는다.

P

포인터 (Pointer)

포인터는 변수의 일종이다. 그 변수 안에는 메모리 주소를 담는다. 포인터는 데이터 또는 함수의 메모리 내 위치를 가리킨다. 포인터는 널리 사용되지 않는다. 반면, 참조(아래의 'Reference' 참고)는 매우 일반적이고 훨씬 더 쉽게 사용할 수 있는 불투명opaque하고 관리되는managed 포인터다.

다형성 (Polymorphism)

다형성이란 메서드를 호출할 때 그 메서드가 “다른 형태”일 수도 있다는 가정을 할 수 있도록 하는 기능이다. 즉, 메서드의 동작은 달라질 수 있으며, 그 동작은 그 메서드가 적용되는 오브젝트가 무엇인가에 의해 결정된다. 이것은 OOP 언어의 표준 특성이다.

프로시저 (Procedure)

프로시저는 일종의 코드 블록이다. 프로그램의 다른 부분에서 호출할 수 있다. 프로시저는 파라미터를 받을 수 있어서 그에 따라 하는 일이 달라질 수 있다. 함수와 달리, 프로시저는 값을 반환하지 않는다. 파스칼과 달리, 다른 대부분의 언어들은 함수와 프로시저를 구분하지 않고 둘 다 '함수'라고 부른다.

프로젝트 옵션 (Project options)

구성configuration 옵션들의 묶음이다. 그 옵션들은 애플리케이션 프로젝트의 전체 구조에 영향을 줄 뿐만 아니라 컴파일러와 링커linker의 작동 방식에도 영향을 미친다.

프로퍼티 (Property)

프로퍼티는 오브젝트의 상태를 정의한다. 프로퍼티가 데이터에 매핑되거나 또는 메서드를 사용하여 데이터의 값을 읽고 쓸 수 있다는 사실을 고려하면, 실제 구현을 감추고 추상화를 하는 용도로 사용될 수 있다.

R

RAD

RAD (Rapid Application Development)는 쉽고 빠르게 애플리케이션을 구축할 수 있도록 하는 개발 환경의 특징이다. RAD 도구는 일반적으로 시각적 디자이너visual designer를 기반으로 한다. 이런 식의 정의는 다소 오래된 정의라서 오늘날 거의 이렇게 정의하지 않는다.

레코드 (Record)

단순 레코드란 데이터 항목들의 모음이다. 각 항목은 구조화된 방식으로 저장된다. 레코드는 타입 정의로 정의된다.그 정의에는 레코드가 가지는 개별 데이터 항목의 순서와 타입을 명시한다.
오브젝트 파스칼에는 고급 레코드도 있다. 이것은 (오브젝트와 비슷하게) 메서드를 가질 수 있다.

재귀 (Recursion)

재귀 즉 재귀 호출은 함수가 주어진 조건이 충족될 때까지 자신을 계속 호출하는 것을 설명하는 말이다. 재귀 호출은 루프나 순환에 대한 더 우아한 대안인 경우가 종종 있다. 요즘에는 대체로 재귀를 덜 사용한다. 곱셈 함수를 재귀적으로 구현하는 예를 들면, 함수는 전달된 첫 번째 숫자의 값을 취한다. 그리고 두 번째 숫자를 1 만큼 감소시키고 동일한 함수를 호출하고 그 결과 값을 앞에서 취한 값에 더한다. 이것을 두 번째 숫자가 0이 될 때까지 계속한다.

참조 (Reference)

참조는 변수의 일종이다. 그 변수 안에는 메모리 안의 다른 위치에 있는 데이터를 가리키는 값이 담긴다. 즉 데이터를 직접 저장하지 않는다. 오브젝트 파스칼에서, 참조는 타입(예: 클래스, 문자열 등)을 가리키는 변수다. 뿐만 아니라, 인터페이스와 동적 배열 역시 참조다. 포인터(용어집 'Pointer' 참고)와 달리, 일반적으로 참조 관리는 컴파일러와 런타임 라이브러리가 한다. 그러므로 저수준low-level에 대한 지식이나 개발자가 그 메모리를 직접 관리할 필요가 거의 없다.

RTTI 혹은 리플렉션 (reflection)

RTTI는 런타임 타입 정보(Run Time Type Information)의 약어다. 애플리케이션 안의 타입 정보에 대한 접근(전통적으로는 컴파일러에서만 가능했음)을 실제 실행 중에 할 수 있도록 하는 기능이다. 다른 프로그래밍 환경들은 이 기능을 ‘리플렉션’이라고 부른다.

런타임 라이브러리 (Run-Time Library, RTL)

미리 작성된 루틴들의 모음이다. 컴파일러는 해당 루틴들을 자동으로 애플리케이션 코드 안에 붙여 넣는다. 그래서 그 애플리케이션이 실행되도록 지원한다. RTL에는 많은 기본 작업을 위한 지원들이 들어 있다. 특히 주요 지원 작업들로는 운영체제와 상호 작용(예: 메모리 할당하기, 데이터 읽기 및 쓰기, 파일 시스템과 상호 작용하기)이 있다.

S

SDK

소프트웨어 개발 키트(Software Development Kit, SDK)는 소프트웨어 도구들이다. 소프트웨어를 특정 환경에 맞추어 구축할 때 사용된다. 각 운영체제는 저마다 SDK를 제공하며 애플리케이션 프로그래밍 인터페이스(API) 라이브러리들도 그 안에 들어 있다. 또한 개발자 도구들도 제공하여 해당 플랫폼용 애플리케이션을 구축, 테스트, 디버깅할 수 있게 한다.

탐색 경로 (Search path)

폴더들의 집합이다. 컴파일러는 uses 문 안에 명시되어 참조되는 외부 유닛을 찾을 때 여기를 검색한다.

스택 메모리 (Stack memory)

스택은 동적으로 그리고 순서대로 할당되는 메모리 공간이다. 메서드, 프로시저, 함수가 호출될 때마다 스택은 자체 메모리 영역을 확보한다(로컬 변수 즉 임시 변수와 파라미터 등을 위해 필요함). 그리고, 그 메서드가 반환되면, 해당 메모리는 정확히 차례대로 비워진다. 스택 메모리가 완전히 소진되는 유일한 실제 상황은 메서드가 무한infinite 재귀 호출에 빠지는 경우다(용어집의 'Recursion' 참고).

참고: 대체로, 로컬 변수는 스택에 할당되며, 0으로 초기화되지 않는다: 여러분은 로컬 변수의 값을 사용하기 전에 미리 초기화하는 것이 좋다.

U

유니코드 (Unicode)

유니코드는 텍스트 안의 개별 문자를 이진 데이터(0과 1의 수열)로 기록하는 표준 방식 중 하나다. 유니코드 표준을 준수하면, 텍스트를 프로그램 간에 안정적으로 교환하고 처리 및 표시할 수 있다. 이 표준은 11만개 이상의 다양한 문자를 포괄할 정도로 매우 방대하며, 약 100 가지 다양한 문자 집합들과 스크립트들을 담고 있다.

V

VCL

Visual Component Library (비주얼 컴포넌트 라이브러리, VCL)는 델파이와 함께 제공되는 방대한 시각적 컴포넌트들이다. VCL의 GUI 컴포넌트들은 네이티브 윈도우 GUI 컴포넌트다. 크로스-플랫폼 라이브러리에 대해서는 용어집 'FireMonkey'를 참고하라.

가상 메서드 (Virtual methods)

가상 메서드는 일종의 함수 또는 프로시저인데, 그 선언은 클래스의 타입 정의 안에 있다. 그 클래스의 하위 클래스sub-class들은 가상 메서드를 재정의override 할 수 있다. 이른바 '기반 클래스'에서는 가상 메서드들에 대한 구현implementation이 없어도 되며, 그 구현은 해당 하위 클래스에서 정의될 수 있다. 이처럼 정의가 생략된 가상 메서드는 추상 메서드abstract method라고 부른다.

W

창 (window)

창은 GUI 요소를 담는 화면 영역이다. 사용자가 상호작용을 하는 영역이기도 하다. GUI 애플리케이션은 여러 개의 창을 표시할 수 있다. VCL과 파이어몽키에서는, 창을 정의할 때 Form(폼) 오브젝트를 사용한다.

윈도우 (Windows)

마이크로소프트의 유비쿼터스 운영체제 이름이다. 이것은 당시 다른 운영체제들(예: 애플 매킨토시의 System X)과 함께 그래픽 창이라는 개념(용어집 'window' 참고)을 개척했다.

이 댓글 링크
다른 사이트에 공유하기

  • 3주 후...

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.