Swift에서 문자열 분리를 위해 split 메서드를 사용할 경우 반환 타입이 ArraySlice 배열 타입입니다.
이때 왜 기존 Array 타입이 아닌 ArraySlice 타입으로 반환하며 또 여기서 ArraySlice는 뭘까에 대한 의문점들이 파고파고 생겨났어요🥸
ArraySlice 인스턴스는 기존 Array를 참조하게 되면서 새로운 Array를 만들면서 생기는 메모리를 절약해줄 수 있는 장점이 있습니다.
즉, ArraySlice 인스턴스를 만들더라도 새로운 메모리 공간을 다 잡는것이 아닌 기존 Array를 계속 참조하면서 메모리 효율을 높일 수 있는것이죠😲
반면 유의할 점도 있습니다⚠️
기존 Array를 참조하고 있기에 해당 참조되는 Array의 수명이 끝났음에도 참조하고 있다면 메모리 릭을 유발할 여지가 다분하죠.
어떤 기술도 그렇지만 확실히 잘 알고 써야 의미가 있는것 같아요🙌