백기선
-
[Java-36] 자바 제네릭, < >Java 2021. 2. 24. 14:35
Java Generic Generic, 제네릭 기본기 generic 을 알아보기전에, 만약 제네릭이 없었을 때를 생각해보자. 일단 ArrayList 에서 또한 우리가 알고 있는 제네릭이다. 그렇다면 없었을 경우에는 ArrayList list = new ArrayList(); 와 같은 방법으로 리스트 선언이 가능했다. 마치 파이썬에서 리스트를 선언하듯이 일정의 타입없이 사용이 가능하다는 것이다. 코드를 보도록 해보자. public static void main(String[] args){ ArrayList list = new ArrayList(); list.add("Hello"); String str = (String) list.get(0); } 문제는 이와 같다. list 에서 꺼내야 하는 타입을 타입 ..
-
[Java-25] 클래스 & 내부클래스 & 익명클래스Java 2020. 12. 9. 12:02
Java Class 🐵 Java 클래스 🙈 클래스? 어떤 객체지향 언어에서든지, 클래스라는 개념을 한번쯤은 들어봤을 것이다. 먼저 간단한 코드를 분석해보자, 자바에서 클래스를 선언 public class App { } 정말 쉽다, 이런식으로 public + class + name 다음과 같이 만들면 클래스 하나가 생성된 거다. 이제 클래스를 직접 만들어보면 애완동물 클래스인 Pet을 만들고, 여기에 변수도 넣어보자 public class Pet { String kind; // 펫의 종류 String name; // 펫 이름 Integer age; // 펫 나이 } 이렇게 만들어 놓은 클래스는 우리가 마음대로 찍어낼 수 있다, 내가 강아지를 키우고 있다면 클래스를 변수로 선언하여, 클래스에다가 마음대로 집..
-
[Java-2] 바이트 코드란Java 2020. 11. 9. 21:15
전 글에서는 JAVA의 컴파일 과정을 자세하면서, 자세하지 않게 다뤄 보았다. 이번에는 컴파일이 되었을 때 생성되는 중간코드(바이트 코드) 에 대해서 알아보도록 하자. 1. 중간코드(바이트 코드)가 뭐여 도대체 JAVA가 나왔을 당시, 기존 C언어 하고는 꽤나 다른 실행 과정을 가졌다. 간단하게 살펴보면, 중간코드는 JVM 이 읽을 수 있는 언어라고 생각하면 된다. JVM에서는 이 중간 코드를 바이트코드 라고 하는데, (지금부터 중간코드를 바이트코드라고 적겠습니다.) JVM은 이 바이트코드를 읽어 들여서 컴퓨터 이해할 수 있는 언어로 변환한다. 필자의 개인적 의견 이지만, 바이트 코드는 JVM이 읽을 수 있는 언어로 정의하는 것이지만 더 재밌는 이야기를 해보자, 이것먼저 알아보도록 하자 JVM은 JAVA..
-
[Java-1] 컴파일 방법 & 과정Java 2020. 11. 9. 21:00
JAVA를 사용하기에 앞서, JVM은 무엇이며 자바 코드는 어떻게 실행 되는지에 대해서 알아보는 과정을 가져보도록 합시다. 이 과정을 알아보기전에 몇가지에 대해서 짚고 넘어가도록 하자 1. 시작 JAVA가 나왔을 당시, 기존 C언어 하고는 꽤나 다른 실행 과정을 가졌다. 간단하게 살펴보면, C언어 컴파일 실행 과정 결국 컴퓨터 (OS)가 알아 들을 수 있게 하기 위해 기계어를 번역하는 과정이다. 그럼 JAVA 의 실행과정은 어떨까? 꽤나 함축적이고, JVM이 자동으로 저런 과정을 짚어준다는 걸 그림으로만 봐도 알 수 있을 것이다. 물론 통합개발환경에서 놀고 있는 나같은 경우, 어차피 IDE가 다 해주지 않나? 라고 할 수 있지만, JVM을 더 알아보겠지만, 강력한 기능들이 포함 되어있다. 자 그럼 먼저 ..