프리미티브 제네릭 함수
R의 일부 핵심 기능은 성능상의 이유로 C 코드를 특별한 방식으로 호출하는 프리미티브(primitive) 함수로 정의됩니다. 프리미티브 함수의 예로는 if와 for 같은 언어 요소, +와 $ 같은 연산자, exp와 sin 같은 수학 함수가 있어요. 프리미티브 함수 중에는 S3 제네릭도 포함되며, S3 프리미티브 제네릭의 전체 목록은 .S3PrimitiveGenerics(문서)로 확인할 수 있습니다.
S3 제네릭이 프리미티브일 때는 메서드를 찾는 조회 과정이 조금 다르게 동작합니다. R은 일반적으로처럼 class(문서)를 사용해 메서드를 찾지만, 아무것도 찾지 못하면 내부 C 코드 함수가 호출됩니다. (일반 제네릭은 메서드를 찾지 못하면 오류가 발생하는 것과 대조적이에요.) 이는 객체의 클래스를 오버라이드하더라도 길이를 계산하는 것과 같은 근본적인 동작이 깨지지 않음을 의미합니다.
이 연습은 강의의 일부입니다
R에서 S3와 R6로 배우는 Object-Oriented Programming
연습 안내
클래스가 "hairstylist"로 오버라이드된 리스트 객체가 작업 공간의 변수 hair에 할당되어 있습니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# View the structure of hair
___
# What primitive generics are available?
___
# Does length.hairstylist exist?
___
# What is the length of hair?
___