본문 바로가기

Java40

자바 죽음의 다이아몬드 문제 / java Deadly Diamond of Death 이번 글에서는 자바에서 다중상속이 지원되지 않는 이유와 죽음의 다이아몬드 문제에 대해서 알아보겠습니다 C++와 같은 다른 객체지향 언어들에서는 다중상속을 지원합니다. 그러나 자바는 다중상속을 지원하지 않습니다. 이번 글에서는 자바에서 다중상속을 지원하지 않는 이유에 대해서 알아보도록 하겠습니다 Deadly Diamond of Death(죽음의 다이아몬드) 자바가 다중상속을 지원하지 않는 이유는 다음과 같습니다 다중 상속에 대한 글 프로그래밍 언어란 컴퓨터에게 내릴 명령을 순서대로 정리 해놓은 문서라고 볼 수 있으며, 가장 중요한 특징 중 하나는 같은 구문이 두 가지 이상의 의미로 해석 될 여지가 있어서는 안된다 라는 것이다. 그런데 다중 상속이 허용 될 경우 이러한 상황이 발생할 가능성이 있으며, 그 중.. 2017. 9. 28.
제네릭을 메소드에 적용하기 이번 글에서는 제네릭을 메소드에 적용한 경우에 대해서 알아보도록 하겠습니다. 제네릭은 메소드에도 적용할 수 있습니다. 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 class EmployeeInfo{ public int rank; EmployeeInfo(int rank){ this.rank = rank; } } class Person{ public T info; public S id; Person(T info, S id){ //id 는 Integer입니다. this.info = info; //T info는 EmployeeInfo 타입입니다. this.id = id; } public void printInfo(U info){ //.. 2017. 9. 23.
자바 제네릭 / java generic 이번 글에서는 자바의 제네릭에 대해서 알아보도록 하겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Fruits { public T info; } public class Generic{ public static void main(String[] args) { Fruits f1 = new Fruits(); Fruits f2 = new Fruits(); } /*(Fruits 클래스 내부=예를들면 T info)에서 사용할 데이터 타입을 * Fruits클래스의 외부인 Generic 클래스에서 인스턴스를 생성하며 지정한다. * 이렇게 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 제네릭이라고 한다. */ } Colored by Color Scripter cs 이렇게 .. 2017. 9. 23.
java Garbage collection / 자바 가비지 컬렉션 이번 글에서는 오브젝트 클래스에 대해서 알아보도록 하겠습니다. Object 클래스에 대해서 알아보기 전에, 가비지 컬렉터와 인스턴스 소멸에 대해서 이야기 해보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 public class MyName { String objName; public MyName(String name) { objName = name; } protected void finalize() throws Throwable{ super.finalize();//finalize메소드 오버라이딩 System.out.println(objName+"이 소멸되었습니다."); } public static void main(String[] args) {.. 2017. 9. 23.
이클립스에서 api 소스 보기 / attach source 이번 글에서는 이클립스에서 api 소스의 정의를 확인하는 방법에 대해서 알아보도록 하겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 public class MyName { String objName; public MyName(String name) { objName = name; } protected void finalize() throws Throwable{ super.finalize();//소스코드를 Ctrl + 마우스 왼쪽 클릭하면 소스코드의 정의를 볼 수 있다. } } Colored by Color Scripter cs 코드의 정의를 보려고 했는데 이런 화면이 나타납니다. 이럴 때는 Attach Source를 클릭합니다. External File을 클릭합니다. JDK가 설치된 경로로 가.. 2017. 9. 23.