본문 바로가기
Web development/Ruby

[Ruby] symbol과 string의 차이점

by 자몬다 2019. 6. 18.

string은 데이터, symbol은 식별자

irb(main):001:0> :asdf.object_id == :asdf.object_id
=> true
irb(main):002:0> "asdf".object_id == "asdf".object_id
=> false

 

symbol의 특징

  • 주로 메서드나 인스턴스 변수명을 표현할때 사용됨
  • hasy key로 사용되기도 함
  • immutable함 - 값 변경 불가, 덮어쓰기 가능, heap메모리에 생성되고나면 동일한 객체로 재사용 가능
    • 반면 string은 mutable하므로 실제로는 동일한 값이라 해도 실행시점까지 알수가 없고, 메모리공간도 각각 차지함
    • 그러므로 string보다 메모리 효율성/성능 측면에서 유리하다

'Web development > Ruby' 카테고리의 다른 글

[Ruby] 함수를 동적으로 실행하기  (0) 2019.06.18
[Ruby] 인스턴스 변수  (0) 2019.06.18
[Ruby] 생성자(Constructor)  (0) 2019.06.18
[Ruby] self란?  (0) 2019.06.18
call by value vs call by reference  (0) 2019.01.14

댓글