상속
엄청나게 긴 컨트랙트를 하나 만들기 보다는 여러 컨트랙트에 코드 로직을 나누는 것이 효율적인 경우
이를 보다 관리하기 쉽도록 하는 솔리디티 기능.
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 |