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만 가능
'Blockchain > Solidity' 카테고리의 다른 글
Send Ether to the Smart Contract (2) 및 block.timestamp 개념 - 공부하는 도비 (0) | 2023.02.01 |
---|---|
Send Ether to the Smart Contract (1) 및 payable 개념 - 공부하는 도비 (0) | 2023.01.04 |
delete element of array and mapping - 공부하는 도비 (0) | 2023.01.02 |
require() 사용 - 공부하는 도비 (0) | 2023.01.02 |
msg.sender 사용 - 공부하는 도비 (0) | 2023.01.02 |