자바
-
자바로 배우는 큐 (Queue)Software/Data Structure : 자료구조 2019. 10. 31. 01:49
개념 기본 자료 구조의 하나로 선입선출 / FIFO (First In First Out) 형태로 데이터를 추가하고 반환한다. Stack 의 후입선출 (LIFO)와 반대. 인터페이스 enqueue(value): 데이터를 입력/추가 dequeue(): 가장 처음에 입력된 혹은 스택에 가장 아래에 위치하고 있는 항목을 반환 구현 큐 또한 스택과 같이 배열과 연결리스트를 통해 구현이 가능하지만 이번에는 배열을 통한 구현을 해보았다. 아마도 개념 이해에는 더 쉬울 거라 생각된다. 큐는 선입선출(FIFO)의 형태를 가지므로 enqueue()가 호출되었을 때 순차적으로 배열에 저장을 하고 front index를 하나씩 증가시켜준다. 그리고 dequeue()가 호출되었을 때는 rear index 위치에 있는 queue..
-
자바로 배우는 스택 (Stack)Software/Data Structure : 자료구조 2019. 10. 30. 22:05
개념 기본 자료 구조의 하나로 후입선출 / LIFO (Last In First Out) 형태로 데이터를 추가하고 반환한다. 인터페이스 push(value): 데이터를 리스트에 추가 pop(): 가장 마지막에 입력된 혹은 스택에 가장 위에 위치하고 있는 항목을 반환 구현 스택은 배열(Array)와 연결리스트(Linkded list)를 통해 구현이 가능하다. Linked List로 구현하는 방법은 추후 Linked list에 대하여 알아 볼 때 같이 살펴보면 좋을 것으로 생각되며 지금은 스택의 개념을 먼저 짚고 넘어가야 하기 때문에 이해가 쉬운 배열로 간단한 스택을 구현해 보도록 하겠다. 스택은 후입선출(LIFO)의 형태를 가지므로 push()가 호출될 떄는 순차적으로 배열에 저장을 하고 pop()이 호출되..
-
[클래스 / Class] 클래스(Class)의 기본Software/Implementation Pattern 2019. 6. 4. 00:52
"현실 세계에 존재하는 것은 클래스(Class)의 인스턴스(Instance)일 뿐이다" - 플라톤 - 객체 지향 프로그램은 위 플라톤이 말한 후기 서양 철학의 클래스와 인스턴스의 아이디어를 도입하였다. 여기서 클래스는 비슷한 성질을 가진 모든 것을 총칭하는 단어이고 객체는 이러한 클래스를 구체한 것이라 할 수 있다. 객체 지향 프로그램에서 클래스와 객체가 가지는 의미와 중요성은 매우 크며 실제 프로그램 구현 패턴에서도 클래스 관련 구현 패턴이 가장 많은 양을 차지하고 있다. 클래스의 사용 이유 객체 지향 프로그래밍에서 클래스를 사용하는 이유는 명확하다. 그건 바로 로직에 비해 데이터의 변화가 빈번하게 이루어 지기 때문이다. "클래스의 로직과 데이터는 함께 사용되며, 로직은 데이터에 비해 변화율이 낮다. ..
-
[Java 8] Android Studio 3.x와 Java 8Software/Android : 안드로이드 2019. 3. 12. 01:01
Android Studio 3.0 버전이 2017년 10월에 정식 배포된 지 벌써 1년이 훌쩍 지났다.당시 Android Studio 3.0에 새롭게 탑재된 신규 기능들 (Android Profiler 나 APK Profiling and debugging)과 Kotlin을 정식 지원 등 많은 변화가 있었지만 그 중 많은 안드로이드 개발자들의 관심을 받은 것은 Java 8 기능과 라이브러리들에 대한 지원이었다. 구글이 Kotlin을 안드로이그 공식 개발 언어로 지정한 것이 꽤나 신선한 충격이었지만 기존의 Java를 사용해 오던 안드로이드 개발자들에게 있어서는 Kotlin보다 Java 8에 대한 지원이 더욱 반가운 소식이었을 것이다. 그래서 이번 포스팅에서는 Android Studio 3.0이상 버전부터 지..