검수요청.png검수요청.png

"오브젝트 파스칼"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
잔글 (같이 보기)
1번째 줄: 1번째 줄:
'''오브젝트 파스칼'''(Object Pascal)은 기존의 [[파스칼]](Pascal) 언어에 [[객체 지향]] 개념을 포함하여 만든 [[프로그래밍 언어]]이다. [[델파이]](Delphi) 언어로 잘 알려져 있다.
+
'''오브젝트 파스칼'''(Object Pascal)은 기존의 [[파스칼]](Pascal) 언어에 [[객체 지향]] 개념을 포함하여 발전시킨 [[프로그래밍 언어]] 이다. 주로 [[델파이]](Delphi) 언어로도 잘 알려져 있다.
  
 
==개요==
 
==개요==
'''오브젝트 파스칼'''은 [[애플]] [[매킨토시]]의 전신인 [[애플 리자]]용으로 개발한 오브젝트 파스칼 컴파일러가 시초이며 가장 널리 알려진 오브젝트 파스칼의 변종은 [[볼랜드]]/코드기어 사의 [[델파이]]에서 사용되는 델파이 프로그래밍 언어가 있다. 델파이에서 사용된 오브젝트 파스칼은 표준 파스칼에 비해 많은 진보가 있는 언어이다. 파스칼은 최초에 top-down 디자인과 구조적 프로그래밍을 가르치기 위해 개발된 언어이다. 그렇기 때문에 가장 많은 수의 대학에서 프로그래밍 언어의 표준으로 이를 이용해 강의를 하곤 했다.
+
'''오브젝트 파스칼'''은 [[애플]] [[매킨토시]]의 전신인 [[애플 리자]]용으로 개발한 오브젝트 파스칼 컴파일러가 시초이며 가장 널리 알려진 오브젝트 파스칼의 변종은 [[볼랜드]]/코드기어 사의 [[델파이]]에서 사용되는 [[델파이]] [[프로그래밍]] 언어가 있다. [[델파이]]에서 사용된 오브젝트 파스칼은 표준 파스칼에 비해 많은 진보가 있는 언어이다. 파스칼은 최초의 탑-다운(top-down) 디자인과 구조적 [[프로그래밍]]을 가르치기 위해 개발된 언어이다. 그렇기 때문에 가장 많은 수의 대학에서 [[프로그래밍]] 언어의 표준으로 이를 이용해 강의하곤 했다. 그러던 중 볼랜드가 터보 파스칼을 발표하게 되었고 이해하기 어려운 [[C]] 코드에 비해 직관적이면서도 깨끗한 터보 파스칼은 당시에 상당한 반향을 일으키며 터보 [[C]] 와 함께 시장의 양대 언어로 자리 잡았다. 파스칼이 객체지향형 프로그래밍 언어의 기능을 추가하게 된 것은 터보 파스칼 5.5버전으로, 이때부터 조금씩 진보된 환경에서 변화를 시도했다. 이후 [[델파이]] 1.0이 발표되면서 명실상부한 객체지향형 파스칼로서 세상에 모습을 드러내게 된다.
  
 
==특징==
 
==특징==

2020년 8월 4일 (화) 09:46 판

오브젝트 파스칼(Object Pascal)은 기존의 파스칼(Pascal) 언어에 객체 지향 개념을 포함하여 발전시킨 프로그래밍 언어 이다. 주로 델파이(Delphi) 언어로도 잘 알려져 있다.

개요

오브젝트 파스칼애플 매킨토시의 전신인 애플 리자용으로 개발한 오브젝트 파스칼 컴파일러가 시초이며 가장 널리 알려진 오브젝트 파스칼의 변종은 볼랜드/코드기어 사의 델파이에서 사용되는 델파이 프로그래밍 언어가 있다. 델파이에서 사용된 오브젝트 파스칼은 표준 파스칼에 비해 많은 진보가 있는 언어이다. 파스칼은 최초의 탑-다운(top-down) 디자인과 구조적 프로그래밍을 가르치기 위해 개발된 언어이다. 그렇기 때문에 가장 많은 수의 대학에서 프로그래밍 언어의 표준으로 이를 이용해 강의하곤 했다. 그러던 중 볼랜드가 터보 파스칼을 발표하게 되었고 이해하기 어려운 C 코드에 비해 직관적이면서도 깨끗한 터보 파스칼은 당시에 상당한 반향을 일으키며 터보 C 와 함께 시장의 양대 언어로 자리 잡았다. 파스칼이 객체지향형 프로그래밍 언어의 기능을 추가하게 된 것은 터보 파스칼 5.5버전으로, 이때부터 조금씩 진보된 환경에서 변화를 시도했다. 이후 델파이 1.0이 발표되면서 명실상부한 객체지향형 파스칼로서 세상에 모습을 드러내게 된다.

특징

  • 포인터의 표현이 묵시적이다. 사용자가 포인터를 인지하지 못하면서 사용하는 경우가 많다.[1]
  • 문자열을 다루기가 쉽고 강력하다. 문자열을 일반 정수를 가지고 덧셈을 하는 것 만큼 쉽고 빠르다.[1]
  • 가독력이 뛰어나고 작업 시간이 상당히 빠르다. 최초의 교육용 언어로 약자를 쓰지않고 영어 단어를 그대로 사용했다.[1]

활용

파스칼 기초

서식

서식은 선언부와 구현부, 유닛의 참조, 형 정의, 함수의 모양, 루틴의 시작과 끝 등과 같이 언어의 전반적인 골격 구조를 말한다. 아래는 파스칼 유닛의 최소한의 서식이다.

  • unit Unit1; --> 유닛의 종류와 이름이다. 이 부분과 interface 사이에는 주석을 제외하면 아무것도 있어서는 안된다.
  • Interface --> 선언부이다. 자료형과 변수, 상수를 선언하는 용도로 사용한다. 다른 유닛에서 참조가 가능하다.
  • Implementation --> 구현부이다. 자료형 선언 및 실제 문장을 작성하는 용도이다. 다른 유닛에 공개 하지 않는다.
  • end. --> 유닛의 끝 부분임을 나타낸다. 델파이의 컴파일러는 이 라인 뒷부분은 모두 무시한다.

문장

문장은 실제로 실행 될 루틴을 말한다. 모든 문장은 문장의 끝을 알리기 위해 마지막에 세미콜론(;)을 붙이고 이것을 보통 한 라인이라고 부른다. 여러 코드라인을 작성할 경우 필요에 따라 이들을 하나로 묶기 위해 begin 과 end를 사용한다.문장은 선언부에는 사용될 수 없고 구현부에서만 사용될 수 있다.

식별자

프로그래머프로젝트에 사용되는 자료 형, 변수, 상수, 프로시저, 함수 등을 정의 할 때 사용하는 이름이다. 식별자의 명명 규칙은 다음과 같다.

  • 영문 대소문자, 숫자, '_'만 사용할 수 있다.
  • 첫 글자는 영문이나 '_'를 사용해야 한다.
  • 길이 제한은 없으나 256자가 넘을 경우 256번째 부터의 문자는 무시된다.
  • 대소문자를 구분하지 않는다.

예약어와 지시어

  • 예약어 : 오브젝트 파스칼의 문법에서 사용하기 위해 미리 예약되어 있는 것으로 예약어와 같은 이름의 선언은 불가하다. and, downto, in, out, stringresource 등이 있다.
  • 지시어 : 사용자가 정의한 식별자를 사용할 수 없는 위치에서 사용된다. absolute, dynamic, name, Public, safecall 등이 있다.

숫자와 문자열 표현법

  • 숫자 : 소스 코드 상에서 숫자는 별도의 예약어 같은 것 없이 그냥 숫자를 그대로 사용하면 되고, 16진수의 경우에는 앞에 '$'를 붙여서 16진수임을 나타낸다. 실수인 경우는 소수점 이하의 값이 길어지면 e와 함께 자릿수를 표시한다.
  • 문자열 : 문자열은 작은 따옴표(')로 표현한다.

자료형

  • 숫자에 관련된 자료형 : 정수형과 실수형으로 나눌수있다. 정수형인 Integer와 Cardinal 이 외의 형들은 fundamental 타입이라고 하는데 이것들은 CPU, OS와 관계 없이 어느 시스템에서도 일정한 범위를 가지고 있다.
  • 문자에 관련된 자료형 : 일반형과 기본형으로 나눌수있다. 일반 자료형은 8bit의 char 데이터형을 포함하며 기본 자료형은 AnsiChar와 WideChar를 포함한다. 일반형 Char는 기본형 AnsiChar와 동일한 표현범위를 가진다.
  • 기타 자료형 : 논리형, 열거형, 부범위형, 집합형, Variant형, 배열, 레코드형 등이 있다.

변수와 연산자

  • 변수 : 메모리 상에 마련되는 일정 공간이며 자료형에 따른 값, 데이터를 저장 할 수 있다.
  • 연산자 : 데이터를 포함하고 있는 변수들에 대해 연산을 수행하기 위한 기호이다. 오브젝트 파스칼에서 가장 기본적인 연산자는 할당 연산자이다. ':=' 기호로 사용된다. C언어에서는 할당 연산자가 '='기호인데 오브젝트 파스칼에서는 '='기호가 단순히 Equal의 의미로 사용된다. 연산자는 크게 산술 연산자, 비교 연산자, 논리 연산자로 나눌수 있다.

포인터

포인터는 변수, 상수, 함수 등의 데이터가 위치하고 있는 메모리 주소의 주소값을 가리키는 자료형이다. 어떤 데이터의 주소 값을 가리킬 때는 @ 연산자를 사용한다. 델파이에서는 포인터는 Integer와 같은 정수형과는 다른 별도의 자료형이므로 포인터형과 정수형은 숫자라는 것은 같지만 사용 용도가 다르므로 그냥 호환되지는 않는다. 포인터가 가리키는 메모리의 값을 읽어올 때는 ^를 사용한다.

상수

상수는 프로그램 실행 중에 값이 변경되지 않는 값을 의미한다. 상수는 프로그램의 실행 중에 값이 변경되지 않는 것이 주요 목적이었지만, 조금 다른 목적을 갖는 상수도 있을 수 있다. 즉 초기값을 가진 변수의 개념으로 사용되는 것이 그것인데, 이런 상수를 형 정의된 상수(Typed constant)라고 부른다.

각주

  1. 1.0 1.1 1.2 devWANI, 〈(PASCAL)오브젝트 파스칼이란...〉, 《티스토리》, 2008-12-23

참고자료

같이 보기


  질문.png 이 문서는 로고가 필요합니다.  

  검수요청.png검수요청.png 이 오브젝트 파스칼 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.