클래스 메소드



대부분의 메소드는 인스턴스 메소드라고 불리는데, 각각의 객체 인스턴스에 대해 동작하기 때 문입니다. 클래스 메소드는 객체 대신 클래스에 대해 동작하는 메소드입니다(생성자 제외). 클래스 메소드에는 일반적인 클래스 메소드와 클래스 정적 메소드의 두 종류가 있습니다. 


■ 일반적인 클래스 메소드


클래스 메소드의 정의는 예약어 class로 시작되어야 합니다. 아래 예를 보십시오.

Object_9_1.png 


클래스 메소드의 정의적 선언도 역시 class로 시작해야 합니다. 아래 예를 봅시다.

Object_9_2.png 


클래스 메소드의 정의적 선언에서, 식별자 Self는 메소드가 호출된 클래스를 의미합니다(자 신이 정의된 클래스의 자손일 수도 있습니다). 클래스 C에서 메소드가 호출되면, Self는 C클래스 타입입니다. 따라서 Self를 이용하여 인스턴스 필드, 인스턴스 속성, 일반적인 (객체) 메소드를 액세스할 수가 없습니다. 하지만 생성자나 다른 클래스 메소드, 혹은 클래스 속성 이나 클래스 필드를 호출하기 위해 Self를 사용할 수는 있습니다.


클래스 메소드는 클래스 참조나 객체 레퍼런스를 통해 호출할 수 있습니다. 객체 레퍼런스를 통해 호출했을 때는, 객체의 클래스는 Self의 값이 됩니다. 


■ 클래스 정적 메소드


일반적인 클래스 메소드처럼, 클래스 정적 메소드(class static method)는 객체 레퍼런스 없 이 액세스 가능합니다. 일반적인 클래스 메소드와 다른 점은, 클래스 정적 메소드는 Self 파라 미터가 아예 존재하지 않는다는 것입니다. 인스턴스 멤버를 액세스할 수 없다는 점도 동일합 니다. (역시 클래스 필드, 클래스 속성, 클래스 메소드를 액세스할 수 있습니다) 일반 클래스 메소드와 다른 또 한가지는, 클래스 정적 메소드는 가상 메소드로 선언될 수 없다는 것입니다. 메소드를 클래스 정적 메소드로 만들려면 선언의 뒤에 static이라는 예약어를 추가하면 됩니 다. 아래의 예를 봅시다. 


Object_9_3.png

일반 클래스 메소드처럼, 클래스 정적 메소드를 호출하려면 객체 참조 없이 클래스 타입을 통해서 호출하면 됩니다. 아래의 예를 참고하십시오.


Object_9_4.png 



참조링크

델파이 프로그래밍 언어 - 엠바카데로 저 | 박지훈 역 (2009년) 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15540
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13990
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16530
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22100
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23343
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18958
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39339
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174754
90 [따라하기] 인공지능 오목게임(3) - 디자인 구성하기 file 대화마을 2017.09.14 1649
89 [온라인 세미나 발표자료] RAD Studio XE7! 관리자 2014.09.17 1641
88 [따라하기] 인공지능 오목게임(2) - 최종결과물 [2] file 대화마을 2017.09.14 1628
87 [따라하기] 인공지능 오목게임(7) - 오목게임 승자(5돌) 결정 지능프로그램 file 대화마을 2017.10.17 1590
86 RFID 리더(한미IT RF Prisma) 연동하기 - 델파이에서 JAR 이용 [1] 험프리 2017.12.19 1557
85 [기술문서] Delphi 코딩 스타일과 아키텍처(Delphi 2009의 언어 기능 리뷰) 관리자 2014.09.16 1536
84 [안드로이드] 배포파일, 아이콘, 스플래쉬 등이 잘 배포되었는지 확인하기 file 험프리 2015.11.11 1528
83 [고객 사례- 델파이, 모바일, 전략] 축구 전술 기획 앱 - Soccer Playview 관리자 2021.08.20 1453
82 [따라하기] 도서대여 프로그램 만들기 - 6, 통합테스트 file 험프리 2017.02.02 1356
81 델파이용 로우 코드 앱 마법사(LOW CODE APP WIZARD) 관리자 2021.06.25 1286
80 윈도우 10에서의 High DPI 김원경 2020.03.02 1275
79 제너릭(Generic)과 제너릭을 사용한 예제(제너릭 콜렉션 등) file 김원경 2020.01.15 1242
78 [코드레이지 2019] 웹소켓(WebSocket)과 델파이 험프리 2020.01.22 1234
77 델파이의 새 달력콤포넌트 기능향상 및 버그수정.. 나비스 2017.08.18 1220
76 REST 웹서비스, 델파이에서 어떻게 활용해야 할까요? 관리자 2021.08.11 1219
75 내가 델파이를 계속 선택하는 이유 관리자 2021.06.01 1208
74 XE8로 구현한 멀티플랫폼 클립보드 공유앱 런칭 file c2design 2015.04.19 1185
73 델파이 문서화 도구 참고링크 Humphery 2015.09.11 1165
72 [DelphiCon 요약] Spring4D 소개 - 델파이 개발을 한수준 높이기 (Introduction to Spring4D - Taking Delphi Development to the Next Level) 관리자 2021.01.08 1153
71 부동소수점 숫자(실수)에 대한 참고 글 [1] 험프리 2016.12.14 1153