속성(Property)

이 절에서는 속성(Property)의 정의, 문법, 규격, 직렬화에 대해 학습합니다 Property란 무엇인가 property는 파스칼 문법 설탕입니다. 외부에서는 필드처럼 동작하지만 내부적으로는 getter 읽기 / setter 쓰기를 실제 호출합니다. 비공개 필드 캡슐화, 읽기쓰기 …

is와 as 요약

Pascal/FPC is 타입 판단, as 안전 캐스트, TClass(X) 검사 없는 강제 캐스트 is와 as 사용법 1 is 연산자: 런타임 타입 감지 객체 인스턴스가 지정 클래스 또는 하위 클래스에 속하는지 판단하고 …

생성자와 소멸자

클래스, 클래스 인스턴스, 생성자, 소멸자 위 예시에는 TAnimal과 하위 클래스 TDog가 포함됩니다. 클래스는 단순한 타입으로 템플릿이라고 이해할 수 있습니다. 클래스 자체는 어떤 데이터도 저장하지 않으며 예시의 필드 MyInt: Integer에는 메모리가 …

상속 및 가상 메서드

상속, 가상 메서드, override, reintroduce 클래스 상속 예시 Object Pascal은 상속 및 가상 메서드를 지원합니다. 아래 예시에서 TDog는 TAnimal을 상속받습니다: TDog는 서브클래스(파생 클래스)이고 TAnimal은 부모 클래스(기본 클래스)입니다 실행 결과 FreeAndNil …

클래스란 무엇인가

Object Pascal는 클래스를 지원합니다 클래스는 다음 멤버들을 담는 컨테이너입니다 클래스에는 다른 종류의 멤버도 포함할 수 있으며 뒤에서 설명하겠습니다. 클래스는 객체 지향 프로그래밍을 위해 설계된 문법 규칙으로, 변수와 함수를 캡슐화하는 것이 …

구 유닛 노출하기

새 유닛으로 다른 유닛의 식별자를 외부에 노출하기 다른 유닛에 있는 식별자를 현재 새 유닛에서 다시 내보내 외부에 공개해야 하는 경우가 있습니다. 최종 효과: 이 새 유닛만 참조하면 해당 식별자를 직접 …

유닛 한정 식별자

C++, Java, C#의 네임스페이스와 유사한 개념입니다 동일 식별자 충돌 여러 유닛에 동일한 이름의 타입/함수/변수를 정의할 수 있으며, uses 목록에서 뒤쪽에 선언한 유닛이 앞쪽 유닛의 동일 식별자를 덮어씁니다. 유닛 한정 구문 …

유닛 간 상호 참조

개념 이해 유닛끼리 서로 의존하고 참조할 수 있습니다. 한 유닛이 다른 유닛을 참조할 때 참조 대상 유닛은 interface 인터페이스 구간에 적거나 오직 implementation 구현 구간에 적을 수 있으며 두 방식의 …

Initialization과 finalization

유닛(Unit)은 initialization(초기화 구간)과 finalization(마무리 구간)을 포함할 수 있습니다. 두 코드 구간은 프로그램 시작 시와 종료 시 각각 자동 실행됩니다. initialization : 프로그램이 실행되고 유닛이 메모리에 로드될 때 실행되며 메인 프로그램 …

유닛 및 프로그램 파일 확장자 정리

유닛(Unit) 파일 확장자 유닛 소스 코드는 통일적으로 .pas 확장자를 사용하며, 파일 이름은 전체 소문자로 작성하는 것을 권장합니다. 예시: myunit.pas. FPC는 커스텀 확장자를 지원하며 일부 개발자는 유닛 파일에 .pp를 사용하지만(myunit.pp 예시), …

유닛 (Units)

유닛(Unit)은 공유하는 타입, 함수, 프로시저, 상수, 변수 등 선언을 묶어 다른 유닛이나 메인 프로그램에서 호출할 수 있게 하며, 다른 프로그래밍 언어의 모듈 / 패키지와 동일한 개념입니다. 유닛 생성하기 유닛은 두 …

숫자를 문자열로 변환

직접 인쇄하지 않고 임의 개수의 변수를 연결해 완전한 문자열로 합치고 싶은 경우, 파스칼에는 주요 구현 방식이 세 가지 제공됩니다. 전용 변환 함수로 문자열 연결 ***ToStr + 문자열 + 연결 연산 …

출력 및 로그

콘솔 출력 Write / WriteLn Pascal에서 문자열을 출력하려면 내장 프로시저인 Write 또는 WriteLn을 사용합니다. WriteLn은 문자열 끝에 자동으로 줄 바꿈 문자를 추가합니다. 이것은 Pascal에서 매우 유연한 내장 프로시저입니다. 매개변수를 개수나 …

반복문

네 가지 반복문: for / while / repeat / for-in 아래 예시 코드를 먼저 확인하세요. 이전 수업의 코드 파일 mydemo.dpr을 수정한 뒤 확장자를 pas로 바꿔 mydemo.pas로 만듭니다. 이것은 파스칼 소스 …

열거 배열과 집합 비교

서수 타입을 배열 첨자로 사용하기 고정 길이 배열 Constant-length arrays 열거형, 사용자 정의 구간 서수 타입 모두 배열 첨자로 사용할 수 있어 배열 인덱스 범위를 유연하게 설정할 수 있습니다. 열거형을 …

열거형

1. 열거형(Enumerated Type) Pascal의 열거형은 캡슐화 수준이 높은불투명 타입으로, 실무 개발 환경에서 다른 언어의 열거형보다 훨씬 자주 사용됩니다. 기본 정의 문법 코딩 규칙: 열거 상수 이름에타입 약자 두 글자 접두사를 …

논리, 관계 및 비트 연산자

1 논리 연산자에는 다음이 포함됩니다:and、or、not、xor 이런 연산자는 불리언 값을 인자로 받으며 연산 결과 역시 불리언 값을 반환합니다; 양쪽 피연산자가 정수일 경우 and/or/not/xor는 비트 연산자로 바뀌고 연산 결과는 정수가 됩니다. 2 …

if 조건 판단

if .. then 또는 if .. then .. else 를 사용해 조건이 참일 때 해당 코드를 실행합니다. C 계열 언어와 다르게 파스칼의 조건식에는 괄호를 감쌀 필요가 없습니다. else 결합 규칙 …