Java - interface - default method
interface에서는 method를 선언만 할 수 있고 정의할 수는 없지만, 를 사용하면 정의할 수도 있습니다. Wrap-up interface의 모든 구현체에 동일하게 포함되는 method임에도, interface에서는 method를 정의할 ...
interface에서는 method를 선언만 할 수 있고 정의할 수는 없지만, 를 사용하면 정의할 수도 있습니다. Wrap-up interface의 모든 구현체에 동일하게 포함되는 method임에도, interface에서는 method를 정의할 ...
Duck Typing "어떤 것이 오리(Duck)인지는 그의 행동을 통해 판단해야 한다"라는 개념이 바로 Duck Typing입니다. 달리 말하면, "처음부터 Type이 정해진 것이 아니라, "오리로서 갖춰야 하는 method들이 구현되어 있으면...
Java - Currying Currying은 개의 인자를 받는 함수로부터 의 인자의 값을 고정한 새로운 함수를 만들어내는 것을 말합니다. Java - Currying Example Java에서도 를 사용해서 currying을 수행할 수 있습니다...
직접 interface와 Annotation을 사용하여 Function을 정의하고 구현하여 사용할 수 있으나, 귀찮으므로 웬만하면 이미 Java에서 구현되어 패키지에 있는 놈들을 사용하기로 합니다. Java에는 다음과 같은 5 종류의 Functi...
Java - Function 이전에 우리는 Method Reference 방식을 이용해서 라는 타입의 변수에 함수를 넣어주었습니다. 그런데, 만들어진 함수를 보면 실행할 때 로 실행하는 것이 아니라, 로 실행합니다. 마치 우리가 늘 쓰던 의 방식...
Java - Map Map은 로 구성하는 자료구조입니다. python의 dictionary와 비슷하죠. Map Interface의 구현체로는, , , 이 있죠. 의 경우 HashTable에 의해서 관리되기 때문에, , 메소드를 사용할 때, con...
Queue는 우리가 일상에서 흔히 보는 "대기열"이라고 생각하시면 됩니다. 줄이 있으면 보통 맨 뒤에 줄을 서고 가장 먼저 온 사람이 먼저 줄에서 나가게 되죠. 일상 생활에서 가장 많은 형태의 자료구조이며, 이런 행동 패턴을 "먼저 온 사람이 먼...
Java - Iterable Java에서 for-each loop 혹은 forEach method를 사용하려면, 자료 구조의 요소들을 순회(Iterate)해야 합니다. 순차적으로 원소에 접근하는 것이 가능할 경우, "for-each loop이 사...
는 우리가 흔히 아는 '집합'을 말하는 것이죠. 이 자료 구조 내부에는 중복값이 존재할 수 없습니다. 가령 Array, List등에서는 1을 원소로 넣고, 또 넣을 수 있는 반면, Set에서는 이게 안되요. 그럼 List가 더 좋은 것 아니냐? ...
List Interface 밑에는 와 가 있습니다. 이 둘에 대한 설명은 굳이 하지 않겠습니다. 이 둘은 기본적으로 mutable입니다. 그리고 를 사용해서 List를 생성하는 경우 immutableList가 생성됩니다.
Java에서는 미리 다양한 자료구조에 대한 Interface를 설계 해두었습니다. 관리의 용이성 혹은 method명을 표준화시켜 관리하는 것이 목적이겠죠. : 동일한 type의 object들을 모아두는 container입니다. , , , , 는 ...
Abstract Class와 Interface는 "아직 구현되지 않은, 추상화된 클래스"를 의미합니다. 직접 Object로 구현되어질 수는 없고, 이후 얘네를 다른 Class가 상속받아서 virtual method들을 새롭게 정의해줘야 하죠. 이...
C++을 공부해보신 적이 있으신 분들은 아시겠지만 보통 OOP에서는 Abstract class를 만들어 두고 이를 상속하도록 하는게 일반적이죠. Abstract Class에는 field와 Behaviour가 모두 정의됩니다. 하지만, "네가 누구...