함수에 private 이나 public을 붙임에 따라 함수 사용(접근)에 제한을 줄 수 있다.
기본적으로 아무것도 안쓰면 public이다
- public
다른 컨트랙트에서도 호출할 수 있게 된다
- private
해당 함수가 속해있는 컨트랙트에서만 호출할 수 있고 다른 컨트랙트에서는 사용할 수 없다.
- internal
해당 함수가 속한 컨트랙트와 해당 컨트랙트를 상속받는 컨트랙트에서만 사용할 수 있고
그외의 상속받지 않은 다른 컨트랙트에서는 사용할 수 없다.
- external
함수가 있는 컨트랙트 내부에서는 사용할 수 없고 다른 컨트랙트에서만 사용할 수 있다.
답
기존 함수
function createZombie(string _name, uint _dna) {
zombies.push(Zombie(_name, _dna));
}
변경
function _createZombie(string _name, uint _dna) private {
zombies.push(Zombie(_name, _dna));
}
'솔리디티 > 크립토좀비' 카테고리의 다른 글
레슨1 챕터 11, 12, 13 - 형변환, 종합, 이벤트 (0) | 2022.02.11 |
---|---|
레슨1 챕터10 - 함수 제어자 (0) | 2022.02.11 |
레슨1 챕터7, 8 - 함수선언, 구조체와 배열 활용 (0) | 2022.02.10 |
레슨1 챕터5, 6 - 구조체, 배열 (0) | 2022.02.10 |
레슨1 챕터3 - 상태변수, 정수 (0) | 2022.02.10 |
댓글