Ruby에서 메모리 할당이 어떻게 작동하는지 궁금합니다.객체 메모리 할당
루비에서는 클래스 정의를 열고 인스턴스 변수/메소드를 추가 할 수 있습니다. 이 경우 새 객체는 기존 인스턴스보다 많은 메모리를 필요로합니다. 인스턴스에 할당 된 메모리를 내부적으로 어떻게 추적합니까? m
일부 메모리를 할당 할 것입니다,이 시점에서
m = MyClass.new
m.myMethod
:
class MyClass
def myMethod
@a = 5
end
end
우리는 MyClass
의 인스턴스를 생성 :
예를 들어, 우리는 다음과 같은 클래스 정의가 있습니다. 이제 클래스 정의를 열고 다른 인스턴스 변수 b
을 추가합니다.
class MyClass
def mySecondMethod
@b = 5
end
end
이 새로운 방법 mySecondMethod
및 인스턴스 변수 b
Myclass
의
m
에서도 사용할 수 있습니다.
인스턴스화 b
를 초기화 mySecondMethod
를 호출 :
m.mySecondMethod
어떻게 루비는 내부적으로 메모리를 관리합니까? 예를 들어
m
메모리 덩어리를 다시 할당합니까 아니면 새로 할당 된 메모리에 대한 포인터를 유지합니까?
'b'와 같은 인스턴스에서는 'mySecondMethod'를 사용할 수 없으며 'b'와 같은 인스턴스 클래스에서는 사용할 수 없습니다. –
@ArupRakshit, 나는 당신이 무엇을 의미하는지 이해하지 못합니다, "b'와 같은 인스턴스들". 이거 바꿔 주시겠습니까? 고맙습니다. – d3vin