도달 가능한 객체를 표시한다
[ O ][ X ][ O ][ X ][ O ][ X ]
살아 있는 객체들을 한쪽으로 이동시켜 메모리를 단편화 없이 회수한다.
[ O ][ O ][ O ][ ][ ][ ]
[주소(50 빈 메모리][객체 A (주소 100)][ 객체 B (주소 200) ][ 객체 C (주소 300) ]
에서
만약 객체 B가 객체 A 의 주소 100에 대해 참조하는 객체라고 생가한다면
[객체 A (주소 50)][ 객체 B (주소 100) ][ 객체 C (주소 150) ] 로 되는 경우
여전히 객체 B 에서는 주소 100을 바라보는 문제가 있기에
객체 B의 참조 주소를 50으로 변경해야함.
만약 객체 간의 연쇄적인 참조를 하고있다면 전부다 변경되어야 한다