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

- Class(클래스)
- 참조(Reference) 타입
- 데이터 전달 시 메모리 위치를 전달 (원본이 변할 수 있음, c언어의 포인터 개념과 유사!)
- 상속 가능
Struct(구조체)
- 값(Value) 타입
- 데이터 전달 시 값을 복사하여 전달 (원본이 변할 수 없음)
- 상속 불가
클래스와 구조체의 공통점
- 값을 저장하기 위한 프로퍼티를 정의할 수 있다.
- 기능 구현을 위한 메서드를 정의할 수 있다.
- 초기값을 할당하기 위한 이니셜라이저를 정의할 수 있다.
- 새로운 기능 구현을 위해 확장될 수 있다.
- 클래스가 가진 차이점
- 상속이 가능하다.
- 클래스의 인스턴스에서는 타입 캐스팅이 가능하다.
- 클래스의 인스턴스에서는 디이니셜라이저를 활용할 수 있다.
- 클래스의 인스턴스에서는 참조값 계산이 허용된다.
댓글
