https://secureum.substack.com/p/solidity-101



26. Free Function

Solidity에서 Free Functions란, Contract 바깥에 정의된 함수를 의미하며, 암묵적으로 internal 가시성을 갖습니다.

특징

  1. 컨트랙트 외부에서 정의되며, 특정 컨트랙트에 종속되지 않음
  2. 암묵적으로 internal → 컨트랙트 바깥에 있어도 외부에서 직접 호출 불가능
  3. 호출하는 모든 컨트랙트에 함수 코드가 복사되어 포함됨 → 내부 라이브러리 함수와 유사한 동작
  4. 주로 유틸리티 함수나 공통 로직을 구현할 때 사용
  5. EVM 상에서 별도의 외부 호출이 아니라 inline 형태로 삽입됨 (가스 절약)

동작 방식

코드 예시