Java - Collections
Java에서 기본으로 제공하는 Array의 경우 사용할 수 있는 Array의 크기가 고정되어 있죠. 그런데 실제 상황에서는 필요에 따라 Array의 크기가 추가로 더 필요할 때가 있죠. 물론, 어려운 코드는 아닙니다. 더 큰 크기의 New Arr...
Java에서 기본으로 제공하는 Array의 경우 사용할 수 있는 Array의 크기가 고정되어 있죠. 그런데 실제 상황에서는 필요에 따라 Array의 크기가 추가로 더 필요할 때가 있죠. 물론, 어려운 코드는 아닙니다. 더 큰 크기의 New Arr...
프로그래밍할 때, 타입을 고정하지 않고 Class를 추상화하여 표현할 수 있죠. 이게 불가능하다면 알고리즘의 작동방식이 동일하더라도 Integer, String등 각각의 데이터 타입에 따라서 여러 Class를 정의해두어야 합니다. 단지 데이터 타...
Java Virtual Machine(JVM) JVM은 컴파일된 자바 프로그램을 실행하는 가상환경을 말합니다. JVM은 컴퓨터의 OS위에서 돌아가고, Java Program은 JVM 위에서 돌아가죠. JVM은 여러 종류가 있고 대부분 JVM Sp...
Generic Programming은 변수의 타입과 상관없이 프로그래밍할 수 있도록 하는 것을 말합니다. 아주 간단하게 '정렬'을 예로 들자면, 변수타입이 Int이든, Double이든, String이든 간에, 비교 연산자만 제대로 설정되어 있다면...
C나 C++에서는 직접 를 통해 메모리를 직접 해제해야 하지만, JVM에서는 Garbage Collector가 직접 알아서 메모리를 해제해줍니다. Java에서는 JVM의 heap memory에 에 의해 생성되는 Object를 올려서 관리합니다. ...
Strategy Pattern은 객체지향적 설계에서 가장 많이 사용되는 패턴이죠. 하나의 예를 들어 보겠습니다. 클래스 이 있을 때, 점간의 거리를 측정하는 클래스가 내부에 있겠죠. 거리 측정은 조금씩 다를 수 있는데, 필요에 따라 내부의 를 다...
개발을 하다 보면 딱 하나의 Class Instance만 정의해서 사용해야 할 때가 있습니다. 이런 종류의 설계를 Singleton이라고 하죠. - Singleton은 딱 하나의 Class Instance만 생성하도록 제한됩니다. - 그리고 어플...
What is JAR JAR은 Java ARchive의 약자이며, 관련있는 file들을 패키지로 묶은 파일포맷입니다. 일단은 그냥 'Java 라이브러리'라고 생각해도 됩니다. 다른 Java Application에서 JAR 파일을 읽어서 사용할 수...
Abstract Class와 Interface는 "아직 구현되지 않은, 추상화된 클래스"를 의미합니다. 직접 Object로 구현되어질 수는 없고, 이후 얘네를 다른 Class가 상속받아서 virtual method들을 새롭게 정의해줘야 하죠. 이...
C++을 공부해보신 적이 있으신 분들은 아시겠지만 보통 OOP에서는 Abstract class를 만들어 두고 이를 상속하도록 하는게 일반적이죠. Abstract Class에는 field와 Behaviour가 모두 정의됩니다. 하지만, "네가 누구...
필요에 따라서, 프로그램의 모든 class가 상속받는 baseClass를 정의할 때가 있습니다. 음, 이건 일종의 디자인 패턴인데요. 가령 RPG게임 같은 것에서 모든 캐릭터가 HP, MP를 가지고 또 비슷한 method 이름들을 가진다면 모든 ...
Java에는 라고 하는 모든 Class의 BaseClass가 되는 Class가 존재합니다. 그냥 다음처럼 새로운 Class를 정의히면 자연스럽게 라는 클래스를 상속받게 되죠. 따라서 객체인 은 항위 class인 Integer 객체를 가리킬 수 있...
Java - Object - toString() Java에는 라고 하는 모든 Class의 BaseClass가 되는 Class가 존재합니다. 그리고 이라고 하는 method가 존재하죠. class를 다음과 같이 정의합니다. 아무것도 정의되어 있지 ...
java에서 Annotation은 프로그램에 대한 정보가 담긴 "Comment"라고 생각해도 일단은 무방합니다. 하지만 그냥 유저만 보는 것을 목적으로 하는 게 아니라, 컴파일러 혹은 IDE, 프레임워크 들에게 정보를 전달하는 측면에서 Comme...
Java - Base Class Method가 오버라이딩 되지않게 하기 BaseClass에서 정의한 method를 실수로라도 오버라이딩하지 않게 하려면 함수 선언부에 을 붙여주면 됩니다.
Object Interning은 여러 개의 Object가 동일한 값을 가질 때, 하나의 메모리의 값을 공유하도록 함으로써, 메모리를 적게 사용하도록 하는 기법을 말합니다. 아래, 코드를 보면 서로 다른 두 객체인 와 이 같은 메모리 값을 가지고 ...