클래스 메소드(Class Method)


   대부분의 메소드들이  개체 인스턴스를 통해 메소드를 호출한다.

   클래스 메소드는  클래스로 직접 메소드를 호출할 수 있는  방법입니다.
   클래스 메소드는 일반적인 클래스 메소드와 클래스의 정적 메소드  두 가지 유형이 있습니다.

  •    일반 클래스 메소드

              일반 클래스 메소드의 정의는 예약어 클래스로 시작해야합니다.

               클래스 메소드는 클래스 참조 나 개체 인스턴스를  통해서도 호출 할 수 있습니다.

 

 type
   TFigure = class
   public
      class function Supports(Operation: string): Boolean; virtual;
      class procedure GetInfo(var Info: TFigureInfo); virtual;
      ...
   end;

   class procedure TFigure.GetInfo(var Info: TFigureInfo);
   begin
      ...
   end;

   

  •     클래스 정적 메소드

             클래스 메소드와 마찬가지로 클래스의 정적 메서드, 클래스 정적 메소드는 객체 참조없이 액세스 할 수 있습니다.

              다음과 같이 선언 부분에 Static 지시어추가하여 정적 클래스 메소드를 선언합니다.

 

type
    TMyClass = class
     
      strict protected
        // Note: Accessors for class properties
        // must be declared class static.
        class function GetX: Integer; static;
        class procedure SetX(val: Integer); static;
       .
     end;

 

          일반적인 클래스 메소드와 달리 클래스 스태틱 메소드는 Self 매개 변수가 없습니다. 
          그들은 모든 인스턴스 멤버에 액세스 할 수 없습니다
(클래스 필드, 클래스 속성, 클래스 메소드는 액세스가능).
           또한 일반 클래스 메소드와 달리 클래스의 정적 메서드는 가상(Virtual) 선언 할 수 없습니다.

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15427
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13961
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16497
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22054
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23268
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18922
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39252
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174698
1083 [고객사례-솔루션, 델파이] SQLGate - 데이터베이스 관리/개발 IDE 관리자 2019.12.19 475
1082 [팁] C++멀티쓰레드 활용하기: 모바일, 데스크탑 앱을 위한 멋진 UX 구현하기 관리자 2019.12.19 475
1081 VCL의 역할과 방향 - 마르코 칸투의 VCL 이야기! 관리자 2019.12.17 593
1080 [팁] 10.3 리오 버전에서 사용할 수 있는 C++ 기능들 file 관리자 2019.12.17 410
1079 델파이에서 아이콘 폰트 사용하기 험프리 2019.12.12 831
1078 Class에서 Interface 두 개 구현할 때, 이 둘이 동일한 이름의 메소드(Method)를 가지고 있다면? file 험프리 2019.12.11 671
1077 [고객사례-유틸리티, 델파이] 녹음기 앱 - Voice Recorder 관리자 2019.12.10 686
1076 [발표자료] 20191205 기술브리핑! 20분만에 파악하는 RAD스튜디오 10.3.3 file 관리자 2019.12.05 443
1075 [행사] 첫번째 "델파이 마이그레이션 DAY" 회고 험프리 2019.12.05 292
1074 기술자료 TOP 7 - 개발자들이 가장 많이 클릭한 기술자료는? (2019년 하반기) 관리자 2019.12.05 854
1073 이 달의 기술자료 - 2019년 12월 험프리 2019.12.05 369
1072 [오픈소스] 델파이 코드 커버리지 소개 file 험프리 2019.12.05 538
1071 [팁] TIniFile과 TMemIniFile 사용 험프리 2019.12.04 1446
1070 [10.3 리오][업데이트 3] 향상된 IDE 기능들 file 관리자 2019.12.03 461
1069 [10.3.3] 안드로이드 64비트 앱 빌드하기 [4] file 험프리 2019.11.27 1641
1068 [10.3 리오][업데이트 3] 엔터프라이즈 커넥터가 무상 제공됩니다 (엔터프라이즈, 아키텍트 사용 고객 한정) file 관리자 2019.11.22 645
1067 [10.3 리오][업데이트 3] RAD서버 도커(Docker) 배포 기능을 활용하세요. file 관리자 2019.11.22 1010
1066 [10.3 리오][업데이트 3] iOS 13, 맥OS 카탈리나 지원을 시작하세요. file 관리자 2019.11.22 397
1065 [10.3 리오][업데이트 3] 델파이에서 안드로이드 64비트 앱 개발이 가능합니다. file 관리자 2019.11.22 1178
1064 [10.3 리오][업데이트 3] What's NEW! 신기능 자세히 보기 file 관리자 2019.11.22 3973