무지개 곰
무지개곰의 성장이야기
무지개 곰
250x250
  • 분류 전체보기
    • 블록체인 공부
      • BlockChain
      • Ethereum
    • IT공부
      • Java
      • JavaScript
      • HTML + CSS
      • React
      • 프로그래머스 (TypeScript)
    • 독서
    • 영어 공부
      • 1일 1 작문
      • 영어 짧은 글
    • 홍보
hELLO · Designed By 정상우.
무지개 곰
블록체인 공부/Ethereum

[Solidity]솔리디티의 자료형

[Solidity]솔리디티의 자료형
블록체인 공부/Ethereum

[Solidity]솔리디티의 자료형

2022. 5. 23. 10:00
728x90

Solidity 언어는 스마트 계약에 최적화된 자료형을 지원합니다. 첫 시간에는 자료형의 종류와 용도 등을 알아보도록 하겠습니다.

Solidity의 자료형

  • 정수형
  • 참, 거짓형
  • 나열형
  • 문자열 자료형
  • 주소

정수형 (int, uint)

정수형의 경우 흔히 프로그래밍 언어에서 사용하는 정수형 int가 있고 int와 달리 부호가 존재하지 않는 정수형인 uint가 있습니다.

  • int 
  • uint

int를 먼저 설명드리자면 Solidity에서 int는 int256을 의미합니다. 자료형 뒤에 숫자는 메모리 영역 내에 크기를 나타내며 int8, int16, int24, int32, int 64, int128, int256등이 있습니다.

 

uint의 경우도 마찬가지로 uint는 uint256을 의미하고 uint8, uint16, uint24, uint32, uint64, uint128, uint256등이 있습니다. 

 

둘의 차이는 나타낼 수 있는 정수형의 범위에서 차이가 나는데 uint형은 말씀드린 것과 같이 부호가 없어 0과 양의 정수를 나타냅니다. 

 

각각의 범위를 표현을 한다면 아래의 표와 같습니다.

자료형 범위
int8 : -128 ~ 127
int16 : -32768 ~ 32767
int24
: -8388608 ~ 8388607
int32 : -2147483648 ~ 2147483647
int64 : -9223372036854775808 ~ 9223372036854775807
int128 : -1.7014118346046923173168730371588e+38 ~ 1.7014118346046923173168730371588e+38
int256 : -5.7896044618658097711785492504344e+76 ~ 5.7896044618658097711785492504344e+76
uint8 : 0 ~ 255
uint16 : 0 ~ 65535
uint24 : 0 ~ 16777216
uint32 : 0 ~ 4294967296
uint64 : 0 ~ 18446744073709551616
uint128 : 0 ~ 3.4028236692093846346337460743177e+38
uint256 : 0 ~ 1.1576208923731619542357098500869e+77

따라서 int와 uint는 엄연히 다른 자료형이고 이런 식으로 범위에 따라 다양하게 존재하는 이유는 불필요하게 낭비되는 공간을 줄이기 위하여 존재합니다.

 

선언 방법은 자료형(type) 이름(name) = 데이터(data); 의 형태를 가지는데 아래와 같이 선언을 할 수 있습니다.

int a = -10;
uint b = 10;

참, 거짓형 (bool)

데이터 값으로 참(true) 혹은 거짓(false)만 가지는 자료형입니다. 나중에 배울 조건문에서 사용이 되거나 함수의 결과가 '옳다' 혹은 '틀리다'를 결과 값으로 낼 때 사용할 수 있습니다.

 

선언 방법은 아래와 같이 선언을 할 수 있습니다.

bool a = true;
bool b = false;

나열형(enum)

개발자가 정의할 수 있는 자료형입니다. 나열형의 경우는 예시만 보여드리고 자세한 설명은 다음 글에서 설명드리겠습니다.

enum Ranking {bronze, silver, gold}

Ranking one = Ranking.gold;
Ranking two = Ranking.silver;
Ranking three = Ranking.bronze;

 


문자열 자료형(string)

문자열을 데이터로 가지는 자료형입니다. 예시를 보시면 이해가 빠르실 수 있어 선언 방법을 먼저 보여드리겠습니다.

string warning = "The enemy is coming";

자료형은 string이고 이름은 warning이며 데이터는 The enemy is coming이 됩니다. 보시는 바와 같이 데이터에 어떠한 문장을 넣고 싶을 때 변수를 선언하기 위한 자료형입니다.


주소형(adress)

가상화폐 거래소를 이용해보셨거나 지갑을 만들어 보신 분들은 주소를 보셨을 겁니다. 주소의 크기는 20바이트 크기의 자료형으로 컨트랙트의 주소를 저장할 때 사용하는 자료형입니다.

address sender = 0x1234567890123456789012345678901234567890;

지금까지 Solidity언어에서 사용되는 자료형에 대하여 알아보았습니다. 다음 시간에는 위에서 설명 못 드린 enum 자료형에 대하여 설명하도록 하겠습니다. 감사합니다.

728x90
저작자표시 비영리 변경금지 (새창열림)
  • Solidity의 자료형
  • 정수형 (int, uint)
  • 참, 거짓형 (bool)
  • 나열형(enum)
  • 문자열 자료형(string)
  • 주소형(adress)
'블록체인 공부/Ethereum' 카테고리의 다른 글
  • [Solidity] 형 변환
  • [Solidity] 조건문과 반복문
  • [Solidity] function 함수와 접근 제어자
  • [Solidity]enum자료형 (나열형)
무지개 곰
무지개 곰
java solidity react javascript등 프로그래밍 공부 기록

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.