Static
-
[Java] 내부(inner) 클래스와 내부(inner) static 클래스의 차이Language/Java 2020. 8. 25. 16:58
이번 글에서는 클래스 안에 클래스가 존재하는 경우에 대해서 정리해보려 한다. public class Test { class InnerClass { // InnerClass } static class InnerStaticClass { // static InnerClass } } 내부 클래스(Inner Class)란 위와 같이 클래스 안에 클래스가 존재하는 형태이다. 그러면 내부 클래스에서 static이 붙은 것과 붙지 않은 것의 차이점은 어떤 것일까? 라고 생각했을 때 나는 static이 붙었기 때문에 static 변수, static 메소드처럼 공유해서 사용하는 클래스인가? 라고 생각을 하였다. 하지만 나의 생각은 누구나 한번 쯤 할만한 잘못된 생각이었다. 이유가 무엇인지 알아보자. 1. 내부 클래스 pu..
-
[Java] 제네릭 메소드(Generic Method)란?Language/Java 2020. 8. 22. 11:00
제너릭 메소드 제네릭 메소드는 메소드의 선언 부에 적은 제네릭으로 리턴 타입, 파라미터의 타입이 정해지는 메소드이다. 제너릭에 대한 예시를 보면서 이해해보자. public class Student { static T name; } 먼저 static 변수는 제너릭은 사용할 수 없다. 왜냐하면 Student 클래스가 인스턴스가 되기 전에 static은 메모리에 올라가는데 이 때 name의 타입인 T가 결정되지 않기 때문에 위와 같이 사용할 수 없는 것이다. public class Student { static T getName(T name) { return name; } } static 메소드에도 제너릭을 사용하면 에러가 발생하는 이유는 static 변수와 마찬가지로 Student 클래스가 인스턴스화 되기 ..