제네릭 (Generics) 이란?
제네릭 (Generics) 자바에서 클래스나 메소드를 정의할 때, 데이터 타입을 일반화(Generalization)할 수 있게 하는 것이다. 이로 인해 사용할 데이터의 타입을 외부에서 설정할 수 있다. 1. 타입 파라미터 제네릭을 이용해 클래스나 인터페이스, 메소드를 정의할 때 사용하며, 타입 매개변수라고도 한다. 제네릭에서는 참조(Referen...
제네릭 (Generics) 자바에서 클래스나 메소드를 정의할 때, 데이터 타입을 일반화(Generalization)할 수 있게 하는 것이다. 이로 인해 사용할 데이터의 타입을 외부에서 설정할 수 있다. 1. 타입 파라미터 제네릭을 이용해 클래스나 인터페이스, 메소드를 정의할 때 사용하며, 타입 매개변수라고도 한다. 제네릭에서는 참조(Referen...
내부 클래스 (Inner class) 클래스(Outer class)의 내부에 선언된 클래스를 의미한다. 중첩 클래스라고도 한다. 참고 위와 같이 컴파일로 생성되는 클래스 파일은 외부클래스$내부클래스.class와 같은 형식의 이름이 된다. 1. 내부 클래스의 종류 Instance member class static member...
리플렉션 (Reflection) 리플렉션은 런타임에 클래스/인터페이스의 메타 정보를 동적으로 가져오거나 수정하는 것을 말한다. 메타 정보 (Metadata)란? 패키지, 타입, 멤버(필드, 생성자, 메소드) 정보 등을 말한다. 클래스로더가 바이트 코드(.class)를 읽고 메소드 영역에 클래스의 메타 데이터를 저장한다. 1. Reflec...
https://www.acmicpc.net/problem/1935 문제 후위 표기식과 각 피연산자에 대응하는 값들이 주어져 있을 때, 그 식을 계산하는 프로그램을 작성하시오. 입력 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로...
객체 지향 프로그래밍 객체 지향 프로그래밍(Object-Oriented Programming)이란 객체(Object)라는 기본 단위로 코드를 나눠 구현하는 패러다임(프로그래밍 설계 방법)을 말한다. 객체 지향 프로그래밍은 코드의 재사용성, 유지보수성, 모듈성(확장성)을 높여준다. 1. 객체 지향의 4가지 특징 1-1. 캡슐화 (Encapsu...
추상 클래스 추상 클래스는 추상 메소드를 포함할 수 있는 클래스를 말한다. 일반적으로 추상 메소드를 포함시켜 추상 클래스를 정의하지만, 추상 메소드가 없을 수도 있다. java에 Enum 클래스가 없었을 때는 추상 클래스에 상수(public static)만 몰아넣어 Enum 클래스와 비슷하게 사용한 경우도 있다고 한다. 혹은, 인스턴스를 생성시키고 싶...
https://www.acmicpc.net/problem/17086 문제 N×M 크기의 공간에 아기 상어 여러 마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 아기 상어가 최대 1마리 존재한다. 어떤 칸의 안전 거리는 그 칸과 가장 거리가 가까운 아기 상어와의 거리이다. 두 칸의 거리는 하나의 칸에서 다른 칸으로 가기...
https://www.acmicpc.net/problem/1189 문제 한수는 캠프를 마치고 집에 돌아가려 한다. 한수는 현재 왼쪽 아래점에 있고 집은 오른쪽 위에 있다. 그리고 한수는 집에 돌아가는 방법이 다양하다. 단, 한수는 똑똑하여 한번 지나친 곳을 다시 방문하지는 않는다. cdef ...f ..ef ..gh cdeh c...
JDK (Java Development Kit) JDK는 말 그대로 자바를 사용해 개발하기 위해 사용되는 키트이다. 다양한 회사에서 출시한 JDK들이 있는데, 몇몇 편의 기능을 제공하거나 적용되는 라이센스가 다른 것 과 같이 각각 조금씩의 차이가 있다. 1. JDK 종류 Java SE (Standard Edition) 자바 표준 에디션으로 ...
https://www.acmicpc.net/problem/13335 문제 강을 가로지르는 하나의 차선으로 된 다리가 하나 있다. 이 다리를 n 개의 트럭이 건너가려고 한다. 트럭의 순서는 바꿀 수 없으며, 트럭의 무게는 서로 같지 않을 수 있다. 다리 위에는 단지 w 대의 트럭만 동시에 올라갈 수 있다. 다리의 길이는 w 단위길이(unit dista...