Solidity를 이용해 투표 시스템을 구현하면서 스마트 컨트랙트의 상태 관리와 권한 제어, 상속, 함수 재사용에 대해 학습struct를 이용한 데이터 구조화mapping을 이용한 데이터 저장constructor를 이용한 초기 설정modifier를 이용한 접근 제어event를 이용한 상태 변화 기록call을 이용한 다른 컨트랙트 함수 실행inheritance를 이용한 코드 재사용virtual / override / superOwnable과 Transferable을 이용한 소유권 관리1. Struct — 관련 데이터를 하나의 구조로 관리 struct Proposal { address target; bytes data; uint yesCount; uint noCount; bool ..