본문 바로가기
블록체인/WEB3 개발

솔리디티 기본 문법 - 상속 및 라이브러리

by 제이제이_은재 2022. 7. 8.
반응형

 

💡솔리디티 기본 문법 - 상속 및 라이브러리

 

✓ 상속

 

솔리디티의 contract 객체는 상속을 지원한다. 상속을 통해 컨트랙트에 기능을 추가하고 확장할 수 있다. 상속을 사용하려면 부모 컨트랙트에 is 키워드를 지정해준다.

contract ChildContract is ParentContract {
	// ...
}

솔리디티는 다중 상속도 지원한다.

contract ChildContract is ParentContract1, ParentContract2, ParentContract3 {
	// ...
}

 

✓ 라이브러리

 

라이브러리의 목적은 "코드를 공유" 하기 위함이다. 컨트랙트 간에 코드를 공유하거나 공통적인 기능을 재사용하고자 할 때 우리는 라이브러리를 활용한다.

 

외부 라이브러리를 호출할 시에는 기존 컨트랙트 호출과는 다른 방식으로 진행한다. 

 

- contract 키워드 대신 library 키워드 사용

- 파라미터 받는 것 가능

- 호출 방법: 라이브러리 이름.메소드이름(), using 라이브러리 이름 for 데디터타임

 

import "./UIntFuncstions.sol"

contract Example{
    function isEven(uint x) public pure returns(bool) {
        return UIntFunctions.isEven(x);
    }
}
import "./UIntFuncstions.sol"

contract Example{
    using UIntFunctions for uint;
    function isEven(uint x) public pure returns(bool) {
        return x.isEven(x);
    }
}
반응형

댓글