2014. 3. 25. 20:39
Study/Delphi
구성자체는 타 언어와 별반 차이가 없는 것 같다.
"단순히 바라보았을때 객체 = 데이터 + 기능 도 만족 할 수있고(반드시 그런 것은 아니지만) 어떠한 대상을 모델링하는데 있어서 필요한 기능은 다 있는 모양이다."
라고 생각을 해보고 있다....?
일단 용어를 좀 알아볼 필요가 있겠는데...
알고 있는 지식이 짧은 관계로 뒤죽박죽 될 것같다. 어찌되었건 내가 이해하기 위한 것이니...
* 클래스의 형식 선언 : 말그대로 틀을 선언하는 것
type
T클래스명 = class(상속받을 무모 클래스명) // 상속 받을 것이 없을 경우 () 생략가능. 다만 컴파일 시 TObject가 자동으로 붙는듯
Fields 선언(내용을 담을 수 있는 변수 공간)
Properties 선언(Field 와는 별개로 데이터를 읽고 쓰는 제어권을 제공하는 기능이 합쳐진 것. 엄연히 다른 개념이므로 주의할 것!!)
Methods 선언(function: 반환값 있음. procedure:반환값 없음)
end;
* 클래스 선언과 사용
델파이는 c++과는 달리
var
tPerson : TPerson;
라고 선언해도 tPerson 을 바로 사용할 수 없다.
즉, 선언과 동시에 실체화 되어 인스턴스가 되는 방법을 사용할 수 없는 것이다.
그러므로 아래처럼 변수의 선언과 인스턴스 생성을 별도로 해주어야 한다.
tPerson.Name := ‘LanSaid’; // tPerson 변수의 Name이라는 Field에 데이터를 삽입
tPerson.Free; // tPerson가 링크하고 있는 메모리 주소에 있는 객체를 릴리즈. 호출 후에는 해당 변수에 링크된 인스턴스가 없으므로 엑세스 시 뻑남. Create() 와 세트 되는 것.
"단순히 바라보았을때 객체 = 데이터 + 기능 도 만족 할 수있고(반드시 그런 것은 아니지만) 어떠한 대상을 모델링하는데 있어서 필요한 기능은 다 있는 모양이다."
라고 생각을 해보고 있다....?
일단 용어를 좀 알아볼 필요가 있겠는데...
알고 있는 지식이 짧은 관계로 뒤죽박죽 될 것같다. 어찌되었건 내가 이해하기 위한 것이니...
* 클래스의 형식 선언 : 말그대로 틀을 선언하는 것
type
T클래스명 = class(상속받을 무모 클래스명) // 상속 받을 것이 없을 경우 () 생략가능. 다만 컴파일 시 TObject가 자동으로 붙는듯
Fields 선언(내용을 담을 수 있는 변수 공간)
Properties 선언(Field 와는 별개로 데이터를 읽고 쓰는 제어권을 제공하는 기능이 합쳐진 것. 엄연히 다른 개념이므로 주의할 것!!)
Methods 선언(function: 반환값 있음. procedure:반환값 없음)
end;
* 클래스 선언과 사용
델파이는 c++과는 달리
var
tPerson : TPerson;
라고 선언해도 tPerson 을 바로 사용할 수 없다.
즉, 선언과 동시에 실체화 되어 인스턴스가 되는 방법을 사용할 수 없는 것이다.
그러므로 아래처럼 변수의 선언과 인스턴스 생성을 별도로 해주어야 한다.
var
Person: TPerson; // 클래스 인스턴스를 담을 변수 선언
begin
tPerson := TPerson.Create; // 클래스 인스턴스를 생성하면서 변수에 주소를 링크. Create() 는 TObject의 constructor로 모든 클래스가 상속 받음.
// 이 시점부터 tPerson 이라는 변수는 메모리에 실체화 되어 사용할 수 있게 된다.
// 이 시점부터 tPerson 이라는 변수는 메모리에 실체화 되어 사용할 수 있게 된다.
tPerson.Name := ‘LanSaid’; // tPerson 변수의 Name이라는 Field에 데이터를 삽입
tPerson.Free; // tPerson가 링크하고 있는 메모리 주소에 있는 객체를 릴리즈. 호출 후에는 해당 변수에 링크된 인스턴스가 없으므로 엑세스 시 뻑남. Create() 와 세트 되는 것.
end;
'Study > Delphi' 카테고리의 다른 글
[Delphi] 변수 선언 영역 (0) | 2014.03.31 |
---|---|
[Delphi] 프로젝트 파일에 대한 이해 (0) | 2014.03.25 |
[델파이] 처음으로 짜본 델파이 프로그램 (0) | 2014.03.03 |
델파이 공부에 도움 되는 자료들 모음 (0) | 2014.02.16 |