Ethereum-Solidity 퀴즈 Q17: Solidity가 사용하는 visibility modifiers는 무엇인가요?

발행: (2026년 1월 10일 오후 08:34 GMT+9)
3 min read
원문: Dev.to

Source: Dev.to

가시성 한정자 개요

한정자계약 내부파생 계약다른 계약외부
public
internal
private
external❌ (this를 통해)

Solidity는 함수와 상태 변수에 대한 접근을 제어하기 위해 네 가지 가시성 한정자를 사용합니다:

  • public – 계약 내부, 다른 계약, 그리고 외부에서 호출할 수 있습니다.
  • external – 다른 계약 및 외부에서 호출할 수 있으며, 동일한 계약 내부에서는 this를 통해서만 호출할 수 있습니다.
  • internal – 동일한 계약 및 파생 계약(상속) 내부에서 호출할 수 있으며, 다른 계약이나 외부에서는 호출할 수 없습니다.
  • private – 동일한 계약 내부에서만 호출할 수 있고, 파생 계약, 다른 계약, 외부에서는 호출할 수 없습니다.

중요한 참고 사항

  • 상태 변수는 public, internal, private 중 하나가 될 수 있으며 (external은 사용할 수 없습니다).
  • 함수는 public, internal, private, external 중 하나가 될 수 있습니다.
  • public 상태 변수는 자동으로 getter 함수를 생성합니다.
  • external 함수는 내부 함수 복사본을 만들지 않기 때문에 public 함수보다 가스 효율이 높습니다.
  • privateinternal보안을 제공하지 않습니다; 블록체인 데이터는 항상 공개되어 있으며, 이 한정자는 함수 호출을 통한 접근만 제한합니다.
  • 외부에서 호출될 함수는 external을 사용하세요.
  • 상속을 통해 사용되는 헬퍼 함수는 internal을 사용하세요.
  • private은 신중히 사용하십시오—보통 내부 헬퍼 함수에만 사용합니다.
  • 공개적으로 접근이 필요한 상태 변수는 public을 사용하세요.
  • private은 보안을 제공하지 않으며, 단지 실수로 호출되는 것을 방지할 뿐임을 기억하세요.
Back to Blog

관련 글

더 보기 »