클래스 메소드(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 21681
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 20300
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 22345
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 28099
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 29393
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 24720
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 45668
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 181215
763 [FireDAC Skill Sprints] 5. Cascading Options: 고급기능을 활용 할 수 있는 FireDAC 옵션 Humphery 2015.03.11 1361
762 [다음 버전 정보] 멀티-디바이스 미리보기 창 관리자 2015.03.19 1361
761 이 달의 기술자료 - 2021년 07월 험프리 2021.06.24 1349
760 Ext JS 활용과 앞으로의 방향 관리자 2018.05.24 1345
759 코드 아카데미: 세션4. 푸쉬알림 (2014.8.19) 관리자 2014.08.20 1344
758 [시애틀][VCL] 고해상도 모니터(4K 모니터와)와 멀티 모니터(모니터 당 DPI)를 지원합니다. [1] Humphery 2015.10.05 1343
757 [XE8] Getit(패키지 관리자) - 번거로운 컴포넌트 검색과 설치를 손쉽게 할 수 있습니다. Humphery 2015.05.28 1342
756 [베를린] 폴 디자이너를 분리해 여러 폼화면을 동시에 보고 편집할 수 있습니다. [1] file 험프리 2016.04.21 1342
755 [업데이트][Hotfix] 일부 파이어몽키 컴포넌트 크기 조정 시 기본크기로 표시되는 이슈 Humphery 2014.12.05 1339
754 [개발환경] 깃허브 PR을 이용한 코드리뷰 환경 구성(4) 험프리 2019.06.20 1336
» [추가된 문법 정리] - 클래스 메소드(Class Method):델파이 2007 추가 관리자 2016.06.03 1333
752 [광주 세미나 발표자료] RAD Studio XE7 Direct, LIVE! 관리자 2014.09.30 1331
751 애플 WWDR 인증서 만료로 iOS 개발자 인증서 이슈 해결 방안 험프리 2016.02.17 1331
750 [DelphiCon 요약] 델파이로 웹 다루기 (Powering the Web with Delphi) file 관리자 2021.02.16 1329
749 [코드레이지 2019] 웹소켓(WebSocket)과 델파이 험프리 2020.01.22 1325
748 델파이용 로우 코드 앱 마법사(LOW CODE APP WIZARD) 관리자 2021.06.25 1324
747 FMX Linux (파이어몽키 리눅스) 첫 걸음 시작하기 관리자 2019.07.10 1324
746 모바일 도서 특강 자료 file Humphery 2014.12.05 1323
745 [세미나 자료] RAD Studio XE7 출시 세미나(2014.9.2/3) file 관리자 2014.09.05 1314
744 [설치방법] 10.3 리오 업데이트2 관리자 2019.07.24 1313