공부 내용 정리

Solidity DataType 에 대해 알아보자 2

blockchoin 2025. 6. 26. 15:58

저번에 이어서 솔리디티에서 사용되는 데이터 타입에 대해 알아보겠습니다.

1. string 변수

  • string은 문자열을 저장하는 자료형.
  • private 접근제한 → 외부에서 직접 접근 불가 (getter 필요)
  • 상태 변수는 기본적으로 블록체인에 영구 저장됨.

2. 솔리디티 배열

  • uint256 []: 부호 없는 정수 배열
  • string []: 문자열 배열
기능 설명
push 배열 끝에 요소 추가
pop 배열 끝 요소 삭제
인덱스 접근 배열[index]로 접근
length 배열 길이 조회
delete 배열[index] 특정 인덱스 값 삭제 (자리 유지, 값 초기화)

3. struct & mapping

  • struct: 구조체 (사용자 정의 타입)
  • mapping: 키-값 저장소, 주로 주소와 연결
기능 설명 가능여부
개별 값 저장 users[주소] = User 가능
개별 값 조회 users[주소] 조회 가능
CRUD users[주소].name = "New" 가능
반복 키 목록 없음 → 불가 불가능
push/pop mapping에 불가능 불가능
length 없음 불가능

 

4. 매핑과 배열의 장단점

(1) 장점

매핑: 빠은 검색 

배열: 순서 보장, 전체 데이터 접근 쉬움

 

(2) 단점

매핑 : 순회 불가, 저장 키 추적 불가 

배열 : 검색 느림 , 가스 비용 많음

 

5. 마무리

배열과 매핑은 많은 데이터를 다루는 데에 쓰이는 필수 기능입니다. 다만, 둘의 장단점이 확연하기에 어떤 걸 선택해야 하는지 고민이 많이 되실 겁니다.

하지만, 배열과 매핑을 같이 쓰면 서로의 단점을 보완하여 사용 할 수 있게 됩니다.

 

이런 식으로 하나의 자료를 두 개의 자료구조로 만들어두면, 각각의 구조가 가진 장점만 필요할 때 사용할 수 있게 됩니다.