본문 바로가기

Programming/Java8

[자바 기본] 컬렉션 프레임워크(List / Set / Map) Ⅱ 컬렉션 프레임워크 또 다른 컬렉션 프레임워크인 Set에 대해 공부해보겠습니다.List는 순서가 있었던 반면 Set은 순서가 없습니다. 또한 중복이 허용되지 않습니다.순서가 없이 객체가 들어가 있기 때문에 중복된 객체를 구분할 수 없게 되기 때문에중복 허용을 하지 않습니다.(인덱스가 없다는 말) Set인덱스로 관리를 하지 않기 때문에 순서가 없고 중복을 허용하지 않습니다.Set은 HashSet / LinkedHashSet / TreeSet 이렇게 3가지가 있습니다.Set은 순서가 없기 때문에 하나의 객체를 가지고 오기 위한 방법이다른 컬렉션 프레임워크와 다릅니다. 바로 Iterator를 사용해야합니다.사용하는 방법은 아래에서 확인하면 될 것같습니다. 1. HashSet객체들을 순서 없이 저장하고 객체는 중.. 2017. 8. 18.
[자바 기본] 컬렉션 프레임워크(List / Set / Map) Ⅰ 컬렉션 프레임워크 일단 우리가 왜 컬렉션 프레임워크를 사용하는지 부터 알아야합니다.우리가 프로그래밍을 하다가 보면 계속해서 사용하는 것이 바로 배열입니다.이 배열은 여러 개의 객체를 저장하고 필요할 때 사용할 수 있도록 하는 방법 중 하나이며 가장 간단한 방법이라고 할 수 있습니다. 하지만 이 배열은 치명적인 단점이 있습니다.바로 배열을 생성할 때 그 크기가 결정됩니다. 이렇게 되면 사용하지 않는 인덱스들이 생겨나게 되고 객체를 효율적으로 관리, 추가, 삭제, 검색을 할 수 없게 됩니다.이 불편함을 없애고자 자바에서는 컬렉션 프레임워크를 제공해주고 있습니다. 위 그림은 어느 자바 책에 가면 다 있는 그림입니다.주요 인터페이스로는 List / Set / Map 이 있습니다.List / Set은 객체를 사용.. 2017. 8. 17.
[디자인 패턴] Strategy Pattern Strategy Pattern 이 패턴은 네이버 정의에 의하면 알고리즘 군을 정의하고 같은 알고리즘을 각각 하나의 클래스로 캡술화한 다음, 필요할 때 서로 교환해서 사용 이 패턴을 처음 들었을 때 새로운 건 줄 알았으나 이미 알고 있는 내용이였다. 우리가 정말 간단한 게임을 개발한다고 가정하자 그럼 캐릭터가 무기를 가지고 있을 수 있다. 그 무기의 종류로는 검, 칼, 도끼, 손, 표창 등이 될 것이다. 이때 우리는 Weapon이라는 클래스를 만들어 각 캐릭터가 상속 받아 그 무기를 사용하고 싶다. 하지만 내 캐릭터는 오직 검만 사용할 수 있는데 다른 종류의 무기도 사용할 수 있게 되어 버린다. 상속을 받게 되면 이렇게 내가 원하지 않는 것 까지 상속 받게 되고 유지 보수를 할 때 관련된 모든 코드를 변경.. 2017. 6. 2.