솔리디티 및 블록체인

솔리디티 06. function 2

채채_._. 2024. 5. 8. 15:55

public

- 모든 곳에 접근 가능

 

externel

- public 처럼 모든 곳에서 접근 가능하나,  externel이 정의된 자기 자신 contract 내에서 접근 불가.

 

private

- 오직 private이 정의된 자기 contract에서만 접근 가능.

- private이 정의된 contract를 상속 받은 자식도 불가능.

 

internal

- private 처럼 오직 internal이 정의된 자가 자기 contract에서만 사용 가능.

 

관련 실습

 

- 배포한 것은 스마트 contract 내가 아니라 밖이라 a2는 접근 불가능.

- public 만 접근 가능.

 

- public_example2에서 public_example을 사용하기 위해서는 instance를 사용해야 함.

[public_example deploy]

 

[public_example_2 deploy]

- changeA_2를 통해 a  값을 바꿀 수 있음.

 

- public을 private으로 바꾼다면 에러가 남.

- private화로 접근을 할 수 없기 때문에 change a not found or not visible 에러가 남.

 

- 해당 external이 정의된 스마트 contract에서 이 함수 값을 접근하는게 아니라 다른 스마트 contract 즉, 외부에서 정의된 contract을 접근하기 때문에 잘 작동함.

'솔리디티 및 블록체인' 카테고리의 다른 글

솔리디티 08. String  (0) 2024.05.14
솔리디티 07. View와 Pure  (0) 2024.05.08
솔리디티 05. Function 1 - 정의  (0) 2024.05.01
솔리디티 04. Ether/GWei/wei 그리고 Gas  (0) 2024.05.01
솔리디티 03.  (0) 2024.04.17