본문 바로가기

set

유니티16_C#_09_캡슐화 앞 글에서 객체 지향 언어(OOP)의 출발점인 추상화로 클래스와 객체를 만들어 보았다. 이번에는 객체지향 언어의 클래스를 떠 받치고 있는 3개의 핵심 개념에 대해 알아본다. 캡슐화 (Encapsulation) 상속 (Inheritance) 다형성 (Polymorphism) 1. 캡슐화(Encapsulation) 캡슐화는 데이터를 캡슐에 넣는다는 뜻이다. 유산균을 캡슐에 넣은 제품이 기억난다. 유산균을 위산으로 부터 보호해서 죽지 않고 대장까지 가도록 캡슐화한 것이다. 코딩에서 캡슐화도 '묶음'과 '보호'라는 역할을 담당하기 위해 고안되었다. 캡슐화의 목적은 2가지이다. 1. 멤버(필드, 메서드)를 하나의 단위로 묶는다. 2. 멤버(필드, 메서드)를 보호한다. 즉, 멤버를 묶어서 보호하는 것이 캡슐화의 목.. 더보기
Kotlin더파기_11_Collection_Set list(리스트)는 각 요소를 index 위치로 찾기 때문에 중복이 가능하다. 그런데 요소를 중복하지 않도록 해서 같은 값은 하나만 저장하려면 set을 사용한다. 그러므로 set의 특징은 저장된 요소가 중복되지 않으며 순서가 있지도 않다. 그 외는 list와 비슷하다. Set 만들기 컬렉션 set를 만든다. set 안에 요소가 있는지 확인한다. 특정 위치 요소 찾기 set은 index(인덱스)를 사용하지 않기 때문에 인덱스 연산자[ ] 를 사용할 수 없다. 그러나 요소의 반복 처리 함수인 elementAt을 사용하여 알아낼 수는 있다. 요소가 많으면 list보다 속도가 느리고 인덱스에서 사용하는 add같은 변경자 함수도 사용할 수 없으므로 인덱스로 요소를 관리할 때는 list를 사용한다. 그러므로 중복 .. 더보기
쌩초보를 위한 기초_21_컬렉션 collection_Set&&Map set : setOf() 또는 mutableSetOf() set(쎝)은 각 요소가 고유하고 중복 없는 요소들의 컬렉션이다. 그러므로 사용자의 id와 같이 중복을 걸러야(filtering) 할 때 유용하다. 변경 가능하게 사용하려면 mutableSetOf를 사용한다. set은 객체의 hashCode() 해시코드 함수를 사용하여 중복을 걸러낸다. set는 데이터를 찾을 때 List처럼 항목의 인덱스(index)를 사용하지 않고 index의 해시코드를 사용한다. 이것을 사용하여 고유하고 명확한 컬렉션을 유지할 수 있다. set에 대한 활용법 등은 다음 기회에 다루기로 한다. Map : mapOf() 또는 mutableMapOf() 맵(map)은 각각의 value(값)에 고유한 key가 있는 객체의 쌍을 저장한.. 더보기