Ruby에서 Freeze 메서드 사용
Hassan Ejaz
2024년2월15일
이 기사에서는 Ruby의 객체에 freeze
메소드를 사용하는 방법을 소개합니다.
Ruby에서 freeze
방법 사용
객체를 더 이상 변경하고 싶지 않고 수정할 수 없도록 하고 싶을 때 Ruby에서 freeze
방법을 사용할 수 있습니다. 이 방법을 사용하여 변경할 수 없는 개체를 빠르게 생성할 수 있습니다.
freeze
방법이 적용된 개체를 변경하려고 하면 프로그램에 오류가 표시됩니다. 어레이와 함께 freeze
방법을 사용한 경우는 다음과 같습니다.
# Ruby
fruits = ["orange","banana","strawberry"]
fruits.freeze
fruits <<"watermelon"
이 코드를 실행하려고 하면 오류가 발생합니다. 문자열의 경우 freeze
방법의 사용법은 다음과 같습니다.
# Ruby
str = "Hey"
str.freeze
str <<" How are you?"
런타임 오류도 표시됩니다. 객체의 경우 freeze
방법의 사용법은 아래와 같습니다.
# Ruby
class Fruits
def initialize(name)
@name = name
end
def get_name
return @name
end
def set_name(name)
@name = name
end
end
a = Fruits.new("apple")
a.freeze
a.set_name("melon")
puts a.get_name
출력:
위의 예에서 freeze
방법으로 이미 고정된 객체를 변경하려고 했기 때문에 오류가 발생했습니다.
Ruby의 freeze
방법의 한계
freeze
방법에는 몇 가지 제한 사항이 있습니다. 고정된 개체와 관련된 변수를 수정할 수 있음을 이해하는 것이 중요합니다.
이 방법을 사용하여 개체만 고정했기 때문입니다. 해당 개체와 관련된 변수는 자유롭게 변경할 수 있습니다.
다음은 동일한 변수에 액세스하여 고정된 개체를 새 것으로 변경하는 방법을 보여주는 예입니다.
# Ruby
str = "Hey James"
str.freeze
str = "Hey Petr"
puts str
출력:
freeze
방법을 사용하여 객체가 변경 불가능한지 확인할 수 있습니다.
# Ruby
str2 = "Hey Julia"
str2.freeze
str4 = "Julia is very nice"
num = 120.5
num.freeze