클래스(class)와 구조체(struct)

w0308h 1월 3일 AM 07:48 8 0
w0308h Profile Image Level 9
2 #TIL

  • Class(클래스)
    • 참조(Reference) 타입
      데이터 전달 시 메모리 위치를 전달 (원본이 변할 수 있음, c언어의 포인터 개념과 유사!)
    • 상속 가능

  • Struct(구조체)

    • 값(Value) 타입
      데이터 전달 시 값을 복사하여 전달 (원본이 변할 수 없음)
    • 상속 불가
  • 클래스와 구조체의 공통점

    • 값을 저장하기 위한 프로퍼티를 정의할 수 있다.
    • 기능 구현을 위한 메서드를 정의할 수 있다.
    • 초기값을 할당하기 위한 이니셜라이저를 정의할 수 있다.
    • 새로운 기능 구현을 위해 확장될 수 있다.

  • 클래스가 가진 차이점
    • 상속이 가능하다.
    • 클래스의 인스턴스에서는 타입 캐스팅이 가능하다.
    • 클래스의 인스턴스에서는 디이니셜라이저를 활용할 수 있다.
    • 클래스의 인스턴스에서는 참조값 계산이 허용된다.
댓글