storage
대부분의 변수, 함수들이 저장되며 영속적으로 저장이되어 가스 비용이 비싸다.
※ 영속적이라함은, 스마트컨트랙트를 배포하게되면 해당 정보는 블록체인의 블록에 들어가게 되어 영속적이게 된다.
memory
함수의 파라미터, 리턴값, 레퍼런스 타입이 주로 저장이된다. 그러나 storage처럼 영속적이지 않고 함수 내에서만 유효하기에 보다 적은 가스비용이 발생된다.
Calldata
주로 external function 의 파라미터에서 사용된다.
stack
EVM(Ethereum Virtual Machine)에서 stack data를 관리할때 쓰는 영역이며, 1024MB로 제한적이다.
String
기본 데이터 타입이아닌, 레퍼런스 타입이라 볼 수 있음
※ String은 문자의 배열의 연속
function get_String(string memory _str) public pure returns(string memory){
return _str;
}
function get_uint(uint256 _ui) public pure returns(uint256){
return _ui; //기본 데이터타입은 memory가 디폴트로 사용
}
'솔리디티' 카테고리의 다른 글
오버라이딩 (0) | 2022.06.25 |
---|---|
상속 (0) | 2022.06.25 |
view와 pure (0) | 2022.06.25 |
솔리디티 접근제한자 (0) | 2022.06.25 |
Solidity Function정의 (0) | 2022.06.25 |