클래스 메소드(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 15414
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13960
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16496
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22048
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23267
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18921
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39245
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174695
1242 [2020년 상반기] 기술자료 TOP 10 - 개발자들이 가장 많이 클릭한 기술자료는? 관리자 2020.07.07 662
1241 이 달의 기술자료 - 2020년 07월 험프리 2020.06.25 468
1240 [발표자료] 20200623 코로나19, 데이터와 RAD로 방역하다! file 관리자 2020.06.24 702
1239 [10.4 시드니 신기능 Deep Dive] 겟잇 패키지 매니저의 새로운 기능들 관리자 2020.06.22 565
1238 북마크, 탐색기 - 무료 IDE 애드온 기능들 업데이트! (10.4용) 관리자 2020.06.16 411
1237 [REST-무료제공툴] REST 디버거 - REST 서비스를 언제든 신속하게 분석할 수 있습니다. file 험프리 2020.06.15 1018
1236 [기술백서] 소프트웨어 개발사에게 영향을 주는2020 시장 트렌드 TOP5 관리자 2020.06.11 505
1235 [발표자료] 20200609 What's NEW! RAD스튜디오 10.4 시드니 file 관리자 2020.06.10 479
1234 [10.4 시드니 신기능 Deep Dive] 델파이 추가된 문법 및 변경 사항 김원경 2020.06.05 490
1233 [10.4 시드니 신기능] iOS와 맥OS 지원 강화 관리자 2020.06.04 679
1232 [10.4 시드니 신기능] 고해상도 DPI용 VCL 콘트롤(들) 관리자 2020.06.04 503
1231 [10.4 시드니 신기능] 개발환경 강화 관리자 2020.06.04 449
1230 [10.4 시드니 신기능] 언어 서버 프로토콜 (LSP, Language Server Protocol) 관리자 2020.06.04 675
1229 [RAD Studio 10.4 패치1 ] C ++ 디버깅과 누락 파일 패치 – 패치를 설치하는 새로운 방법! file 김원경 2020.06.01 640
1228 [기술백서] 델파이와 Windows 개발 현황 (Windows 개발 관련 핵심 사항 정리) 관리자 2020.05.29 783
1227 이 달의 기술자료 - 2020년 06월 file 험프리 2020.05.29 359
1226 [10.4 시드니 신기능] 델파이 10.4 런타임 라이브러리 향상 file 김원경 2020.05.28 618
1225 [10.4 시드니 신기능] Sarina Dupont이 정리한 주요 신기능 모아 보기 험프리 2020.05.28 4304
1224 [10.4 시드니 신기능] Win64 C++용 새로운 디버거 험프리 2020.05.26 612