본문 바로가기
풀스택 개발/블록체인

Solidity에서 state 변수와 Local 변수

by act2 2024. 11. 1.
728x90

Solidity에서 stare 변수와 Local 변수 관련 내용입니다.

블록체인 심화과정에서 배운 내용인데, 

Solidity 파일의 특징을 살펴보고자 기록합니다.

 

라이센스와 버전이 제일 위 2줄에 들어가고, state 변수, 그리고 함수에 Local 변수가 들어간 모습을 볼 수 있습니다.

 

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

// State 변수와 Local 변수.
contract StateLocal {
    string public name = "John";    // State 변수. 전개하면 보임.      
    uint public age = 27;           // State 변수. 전개하면 보임. 
    string public constant symbol = "KRW";   // Constant한 state 변수 선언과 값 정의!
    address private immutable owner;         // Immutable 한 state 변수 선언.
    
    constructor(){
        owner = msg.sender;                  //  Immutable 한 state 변수의 값 정의 (1회)!
    }

    function getResult() public returns (uint){
        age = 21;                   // State 변수 변경 가능.
//        symbol = "ETC";           // 오류!   Constant한 state 변수는 변경 불가능!
//        owner = msg.sender;       // 오류!   Immutable한 state 변수는 변경 불가능!
        uint a = 11;                // Local 변수. 외부에서 볼 수 없음.
        uint b = 22;                // Local 변수. 외부에서 볼 수 없음.
        uint res = a + b;           // Local 변수. 외부에서 볼 수 없음.
        return res;
    }
}

 

자바, 자바스크립트, 파이썬, 코틀린...

여러 언어를 배우다 보니 비슷한 점도 있고, 차이점도 있군요. 

함수에서 리턴값을 적어주는 건 코틀린 문법과 비슷한 것 같습니다.

728x90