구조체

구조체 타입 정의

  • 구조체는 사용자가 정의하는 타입이므로 먼저 정확한 타입 정의가 있어야 함

구조체 변수 정의

메서드와 연관함수

객체지향언어와의 비교

  • 러스트는 객체지향언어처럼 클래스를 제공하지는 않지만
  • 메서드와 연관함수를 지원
    • 메서드: 객체지향언어 클래스의 인스턴스 메서드에 해당
      • 항상 특정 객체와 연관
      • 첫번째 인수로는 연관된 객체에 대한 참조를 받음
    • 연관함수: 객체지향언어 클래스의 정적 메서드에 해당
      • 특정 객체와 연관되지 않음
      • 첫번째 인수가 객체 참조가 아님

메서드와 연관함수의 구현

  • imple 키워드로 구현

    impl 구조체_타입명 {
      fn 메서드명 (&self, 인수1, 인수2) {
        ...
      }
    }
    impl 구조체_타입명 {
      fn 연관함수명 (인수1, 인수2) {
        ...
      }
    }