A와 B가 있습니다. A의 집은 살림이 없고 B의 집은 살림이 많아 잠잘 공간도 부족합니다. A의 집은 살림이 없으니 책이나 양말을 아무 데나 던져놓아도 금방 찾을 수 있습니다. 반면 B의 집에는 없는 게 없지만, 무언갈 찾으려면 한두 시간이 걸립니다. B는 살림을 줄여야 한다고 생각합니다. 하지만 태생적으로 버리는데 소질이 없는 B는 물건을 쉽게 찾을 방법을 고민했습니다. 물건을 분류하고, 수납 상자에 라벨을 붙여, 라벨의 이름에 따라서 순서대로 상자를 배치했습니다. 이제부터 새로운 살림은 반드시 품명에 맞는 상자에 들어가야 합니다. 이제 물건을 찾는데 걸리는 시간이 훨씬 줄었습니다. B는 마음 놓고 살림을 불릴 수 있습니다. 물건을 찾는데 걸리는 시간이 예전만큼 오래 걸릴 때까지....
여기서 물건은 데이터를 뜻합니다. 물건을 쉽게 찾기 위해서 사용한 수납 상자는 좀 유식한 말로 수납을 정리하는 구조물이라고 할 수 있습니다. 구조물은 영어로 스트럭쳐라고 합니다. 데이터 스트럭쳐는 데이터를 효율적으로 저장하고 꺼내기 쉽게 정리 정돈하는 데 쓰입니다. 데이터 스트럭쳐엔 더 많은 의미가 있지만, 지금은 이 정도 인식으로 출발합니다. 차차 데이터 스트럭쳐를 바라보는 시야를 넓혀갑시다.
사실 데이터 스트럭쳐는 별거 아닙니다. 배열도 데이터 스트럭쳐입니다..
132 (0) | 2020.06.10 |
---|---|
LinkedList 와 ArrayList (0) | 2020.06.02 |
클래스 , 객체 ,인스턴스의 차이 (0) | 2020.06.01 |
this 와 super란..? (0) | 2020.05.31 |
프레임워크 , 웹 개발 관련 프레임워크는? (0) | 2020.05.13 |