이번에 설명할 내용은 제네릭입니다. 원래 Collection 프레임워크에 대해 쓰려고 했는데 제네릭을 먼저 설명하는 것이 나을 것 같아서 제네릭에 대해 기술하게 되었습니다. 그럼 이 제네릭은 무엇일까요? 일단 네이버에 Generic이라고 검색하면 '포괄적인, 총칭의' 라는 뜻이 나옵니다. 근데, 이 뜻으로 설명하기에는 자바의 제네릭과는 맞지 않는다는 생각이 들었습니다. 그래서 Generic 단어를 클릭하여 더 살펴보니 the generic character라는 '속성'이란 뜻을 가진 숙어가 있었습니다. 이 자바의 제네릭을 설명하기에는 위 숙어가 딱이라는 느낌이 들었습니다. J2SE 5부터 생긴 제네릭은 속성을 뜻한다고 할 수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 package blo..
이번에 설명할 내용은 enum입니다. enum은 enumeration의 약자로 enumeration은 열거라는 뜻을 가지고 있습니다. 열거라는 뜻을 가지고 있는 enum은 배열과 비슷하게 생각할 수 있으나 배열과는 속성을 달리하는 녀석입니다. 배열이 데이터들의 집합체라면 enum은 class의 일종입니다. 따라서, 단순히 데이터를 저장하는 것 외에도 메소드나 변수를 선언하는 것을 enum 내부에서 할 수 있습니다. 일단 먼저 가장 단순한 형태의 enum부터 보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 package blog; public class enumTest { public static void main(String[] args) { System.out.println(animal.lion..
이번에 설명할 내용은 Interface(인터페이스)입니다. 인터페이스는 추상 클래스보다 더 추상적인 녀석입니다. 일단 인터페이스는 메소드와 변수를 선언할 수 있습니다. 다만, 인터페이스에서 선언한 메소드는 추상 클래스의 추상 메소드처럼 몸통을 가질 수 없습니다. 그리고 인터페이스의 변수들은 무조건 'public static final' 속성을 가지게 되어 어디서든 접근 가능한 정적이고 바꿀 수 없는 변수들이 됩니다. 또한 추상 클래스와 마찬가지로 인스턴스를 가질 수도 없습니다. 일단 아래 코딩부터 보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 package blog; public class Ex_class { ..
이번에 설명할 내용은 abstract class(추상 클래스)입니다. 추상 클래스는 일반적인 클래스와 크게 다르진 않습니다. 변수를 가질 수 있고 메소드를 선언할 수 있습니다. 차이점은 다른 일반적인 클래스와 다르게 추상 메소드를 선언할 수 있다는 점과 추상 클래스라는 설계도로 만들어낸 제품, 즉 인스턴스를 가질 수 없다는 점입니다. 그렇다면 추상 메소드는 무엇일까요? 추상 메소드는 몸통을 가질 수 없는 단지 메소드명만 선언 된 메소드입니다. 일단 아래 코딩부터 보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 package blog; public class Ex_abstract { public static void m..
- Total
- Today
- Yesterday