기본구조
syntax = "proto3"; package mypackage; message User { int32 id = 1; // 버퍼 순서 1: 사용자 ID string name = 2; // 버퍼 순서 2: 사용자 이름 bool is_active = 3; // 버퍼 순서 3: 활성 상태 }
Syntax 버전:
proto2와 proto3 두 가지 버전이 있으며, 일반적으로 최신 버전인 proto3를 사용
메시지(Message):
데이터의 구조를 정의하며, 여러 필드가 포함
각 필드에는 타입, 이름, 필드 번호가 필요
서비스(Service):
gRPC와 함께 사용하여 원격 프로시저 호출(RPC)을 정의
rpc 키워드로 요청(Request)과 응답(Response)을 정의
=> 이부분은 아직 사용을 안해봄.
패키지(Package):
네임스페이스와 유사하게 동일한 패키지 이름을 사용하여 이름 충돌을 방지