Solidity를 연습하면서 다양한 데이터 타입을 다루는 DataType 컨트랙트를 만들어 연습해 보겠습니다.
1. 정수형 값 관리
- 변수형:
- positiveNumber: 양수 값을 저장
- negativeNumber: 음수 값을 저장
- 설명:
정수형을 나타 낼 수 있고, 그 정수형의 부호까지 정할 수 있습니다.
함수로 만들때에는 잘못된 값을 막기 위해 require로 검증하는 기능을 추가해야 합니다.
2. 불리언 값 관리
- 기능:
- isActive: true 또는 false 값을 가집니다.
- 설명:
스위치처럼 상태를 바꿔야 할때 사용됩니다. 로그인 상태, 장비 작동 상태 등에서 자주 사용됩니다.
3. 주소 관리
- 기능:
- address: 주소를 넣는 16진수, 40자리(20바이트)의 변수형을 저장합니다.
- 설명:
보통 주소를 저장 하는데 사용됩니다.
4. 바이트 데이터 관리
- 기능:
- bytes32 : 고정된 길이의 바이트 값을 저장합니다.
- bytes: 길이가 가변적인 바이트 값을 저장합니다.
- 설명:
바이트 데이터는 주로 파일, 해시값, 짧은 문자열 저장에 사용.
가변 데이터는 배열처럼 유연하게 사용할 수 있음.
5. 열거형
- 기능:
- enum State { Created, Active, Inactive } : 이런 식으로 여러 요소를 enum으로 사용할 수 있습니다.
- 설명:
enum은 상태를 숫자가 아닌 "이름"으로 관리할 수 있어 코드 가독성이 좋습니다. 다만, 인덱스를 사용할 수는 없습니다.
6. 컨트랙트 생성자
- 기능:
- constructor(): 배포 시 이 함수를 실행합니다.
- 설명:
- constructor는 컨트랙트를 처음 배포할 때 1회만 실행되는 특별한 함수입니다.
- 보통 컨트랙트를 초기화하는 역할을 합니다.
- 이 생성자는 재호출 불가능하고, 컨트랙트가 블록체인에 올라가는 순간만 실행됩니다.
7. 정리
솔리디티에서 자주 사용하는 데이터 타입에 대해 적확히 알고 사용하는 게 중요합니다.
- 가스비 절약
- 결정적 실행 보장
- 보완성 강화
등의 이유로 변수타입 추론이 불가능하기에 꼭 데이터 타입을 명시해야 합니다!
'공부 내용 정리' 카테고리의 다른 글
| Solidity 에 대해 알아보자 3 (0) | 2025.06.27 |
|---|---|
| Solidity DataType 에 대해 알아보자 2 (0) | 2025.06.26 |
| 솔리디티 문법에 대해 배워보자! (0) | 2025.06.20 |
| React + Web3로 만든 나만의 블록체인 지갑 만들기 (2) | 2025.06.11 |
| 니모닉 이란? (0) | 2025.06.10 |