BlockChain
(BlockChain) Solidity 문법(2)
JJeongHyun
2023. 3. 9. 17:30
반응형
https://developerjjh.tistory.com/165
메서드 옵션
- 접근제어 지정자 (가시성으로 분류)
- external : 외부 컨트랙트만 접근 가능
- 해당 스마트 컨트랙트 내부에서 호출하지 못하고 외부에서만 호출이 가능하도록 설정
- 상태변수는 external 옵션을 사용할 수 없다
- internal : 내부 컨트랙트 호출 가능
- 해당 스마트 컨트랙트 외부에서 호출하지 못하고 내부에서만 호출할 수 있도록 설정
- 상속받은 컨트랙트도 호출 가능
- 상태변수는 따로 옵션을 설정하지 않으면 default로 설정된다
- public : 컨트랙트 내부, 외부 그리고 상속받은 컨트랙트 모두 호출이 가능
- private : 컨트랙트 내부에서만 호출이 가능
- external : 외부 컨트랙트만 접근 가능
내부 컨트랙트 사용 여부 | 외부 컨트랙트 사용 여부 | 상속 컨트랙트 사용 여부 | |
public | O | O | O |
private | O | X | X |
internal | X | O | X |
external | O | X | O |
- 함수타입 제어자
- view : 데이터를 읽는 것만 허용(readOnly)
- 가스 비용 X
- 해당 스마트 컨트랙트의 변수(데이터)를 사용할 수 있지만, 수정은 불가능
- pure : 해당 스마트 컨트랙트의 변수(데이터)를 사용, 수정 불가능
- 매개변수값만 활용해서 반환값을 생성
- 가스 비용 X
- view : 데이터를 읽는 것만 허용(readOnly)
데이터 읽기 | 데이터 쓰기 | 가스 비용 | |
view | O | X | X |
pure | X | X | X |