Blockchain/Solidity

Solidity 생성자(constructor) - 공부하는 도비

DOVISH WISDOM 2023. 2. 1. 19:34  
728x90
반응형

Smart Contract은 자바의 클래스나 인터페이스(객체)와 비슷합니다.

그래서 생성자라는 개념이 있고, 오늘은 Solidity의 생성자에 대해 알아보겠습니다.

 

* What is a Constructor in Solidity

생성자는 타 언어처럼, 상태 변수를 바꾸거나 초기화할 때 사용이 됩니다. 또한, 생성자를 필수적으로 쓰진 않아도 됩니다. 

생성자는 constructor이라는 키워드를 사용하여 만듭니다. 

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

contract Exconstructor {
    
    constructor([optional-parameters]) access-modifier {
    
    }
}

- optional-parameters : 생성자에게 넘겨줄 파라미터 값을 의미

- access-modifier : public or internal 만 가능 

 

* Solidity Constructor example

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

contract TestConstructor {

    address public owner;	// contract deployer

    constructor() public {
        owner = msg.sender;		// sender of the message (current call)
    }

    function getVal() public view returns (uint) {
        return owner.balance;
    }
}

 

 

* Features of Constructor

1. 생성자 선언은 선택적

 

2. 생성자가 선언되지 않으면, 디폴트 생성자가 사용됨

 

3. 스마트 컨트랙 안에는 오직 하나의 생성자 선언이 가능함

 

4. access-modifier는 public이나 internal만 가능

 

반응형