본문 바로가기

:D/block chain

[Solidity] 상속

 

 

상속

 

엄청나게 긴 컨트랙트를 하나 만들기 보다는 여러 컨트랙트에 코드 로직을 나누는 것이 효율적인 경우

이를 보다 관리하기 쉽도록 하는 솔리디티 기능.

 

 

 

contract Doge {
  function catchphrase() public returns (string) {
    return "So Wow CryptoDoge";
  }
}

contract BabyDoge is Doge {
  function anotherCatchphrase() public returns (string) {
    return "Such Moon BabyDoge";
  }
}

 

 

 

BabyDoge 컨트랙트는 Doge 컨트랙트를 상속함.

즉, BabyDoge 컨트랙트를 컴파일해서 구축하는 경우, 

BabyDoge 컨트랙트 catchphrase() 함수와 anotherCatchphrase() 함수에 모두 접근할 수 있음.

(Doge 컨트랙트에 정의되는 다른 어떤 public 함수가 정의되어도 접근이 가능)

상속 개념은 "고양이는 동물이다"의 경우처럼 부분집합 클래스가 있을 때 논리적 상속을 위해 활용할 수 있음.

하지만 동일한 로직을 다수의 클래스로 분할해서 단순히 코드를 정리할 때도 활용할 수 있음.

 

' :D > block chain' 카테고리의 다른 글

[Solidity] 컨트랙트의 불변성  (0) 2022.02.16
[Solidity] Storage vs Memory  (0) 2022.02.15
[Solidity] Require  (0) 2022.02.15
[Solidity] Msg.sender  (0) 2022.02.15
[Solidity] Mapping 과 Address  (0) 2022.02.15