본문 바로가기
Delphi/클래스

클래스란?

by MonoSoft 2023. 6. 5.
728x90
반응형

클래스란?

 

 

 

 

클래스는 객체지향 프로그래밍(OOP)의 핵심 개념 중 하나로,

코드의 재사용성과 유지 보수성을 향상시키는 데 도움을 줍니다.

 

델파이에서 클래스를 사용하면 더욱 효율적이고

구조화된 프로그램을 개발할 수 있습니다.

 

 

 

클래스란 무엇인가요?

클래스는 데이터와 그 데이터를 조작하는

메서드를 포함하는 하나의 개체(object)입니다.

 

클래스는 현실 세계의 객체를 모델링하며,

해당 객체의 특징과 동작을 정의합니다.

 

예를 들어, "사람" 클래스는 이름, 나이, 성별 등의 데이터와

"인사하다", "먹다" 등의 동작을 가질 수 있습니다.

 

 

 

클래스의 구성 요소

클래스는 속성(프로퍼티)과 동작(메서드)으로 구성됩니다.

속성은 클래스의 데이터를 나타내며,

동작은 데이터를 조작하고 사용하는 방법을 정의합니다.

이러한 구성 요소를 사용하여 객체를 생성하고 조작할 수 있습니다.

 

 

 

클래스의 정의와 사용

델파이에서 클래스를 정의하려면 type 키워드를 사용합니다.

클래스의 멤버 변수와 메서드는 private, protected, public 등의

가시성 지시자로 접근 범위를 제어할 수 있습니다.

클래스는 객체를 생성하기 위해 사용되며, var 키워드를 사용하여

객체 변수를 선언합니다.

객체 변수를 사용하여 클래스의 멤버에 접근하고

메서드를 호출할 수 있습니다.

 

 

 

클래스 상속

델파이에서는 클래스 상속을 통해

기존 클래스를 확장하고 재사용할 수 있습니다.

상속은 기존 클래스의 속성과 메서드를 상속받는

새로운 클래스를 만드는 개념입니다.

상속을 사용하여 코드의 재사용성과 확장성을 향상시킬 수 있습니다.

 

 

 

다형성과 추상 클래스

델파이에서는 다형성을 통해 여러 클래스를

동일한 타입으로 처리할 수 있습니다.

추상 클래스는 인스턴스를 직접 생성할 수 없으며,

다른 클래스에서 상속하여 사용됩니다.

 

추상 클래스를 사용하면 공통된 인터페이스를 정의하고

다른 클래스에서 이를 구현할 수 있습니다.

 

 

 

클래스와 객체의 관계

클래스는 객체를 생성하기 위한 템플릿이며,

객체는 클래스의 인스턴스입니다.

객체는 메모리에 할당된 실체로, 클래스에 정의된 속성과

메서드를 사용할 수 있습니다.

객체는 클래스의 멤버 변수에 저장된 데이터를 조작하고

클래스의 메서드를 호출하여 원하는 동작을 수행할 수 있습니다.

 

 

다음은 클래스에 대한 예제이다.

 

program ClassExample;

type
  Person = class
  private
    Name: string;
    Age: Integer;
  public
    constructor Create(newName: string; newAge: Integer); procedure Introduce(); end;
    constructor Person.Create(newName: string; newAge: Integer); begin
    Name := newName; Age := newAge;
  end;

procedure Person.Introduce();
begin
  WriteLn('이름:', Name); WriteLn('나이:', Age);
end;

var
  person1, person2: Person; begin
  // Person 클래스의 객체 생성
  person1 := Person.Create('John', 25);
  person2 := Person.Create('Jane', 30); // 객체 정보 출력
  person1.Introduce(); person2.Introduce(); // 객체 해제
  person1.Free;
  person2.Free;
end.

위의 예제에서는 Person 클래스를 정의합니다.

Person 클래스에는 Name과 Age라는 두 개의 속성이 있으며,

생성자(constructor)를 통해 초기화됩니다.

또한 Introduce라는 메서드를 정의하여 객체 정보를 출력합니다.

 

person1과 person2라는 두 개의 Person 객체를 생성하고,

각각의 정보를 출력합니다.

마지막으로 Free 메서드를 사용하여 객체를 해제합니다.

 

 

실행 결과는 다음과 같습니다:

 

이름: John
나이: 25
이름: Jane
나이: 30

 

위 예제는 간단한 클래스의 활용을 보여줍니다.

 

클래스를 사용하면 코드의 가독성과 재사용성을 향상시킬 수 있으며,

객체 지향 프로그래밍의 다양한 개념을 적용할 수 있습니다.

 

728x90
반응형

댓글