본문 바로가기

IT개발/Java16

[Java] Static 키워드 바로 알고 사용하자 자바를 한번쯤 공부해본사람이라면 static키워드를 모르지는 않을 것입니다. 하지만, 바르게 알고 있는 사람들은 그리 많지 않습니다. 자바경력자를 면접볼 때 static키워드에 대해서 질문하곤 합니다. 면접관 : static키워드에 대해서 설명해보세요.응시자 : static키워드를 쓰면, 객체를 생성하지 않고도 변수나 함수를 사용할 수 있습니다. 면접관 : 왜 static키워드를 쓰나요?응시자 : 객체를 생성하지 않아도 되니까 편리하고 속도도 빠릅니다. 면접관 : 그렇다면 모든 변수와 함수에 static을 붙이는 것이 좋겠네요?응시자 : 가능한한 static을 붙이는 것이 좋다고 생각합니다. 면접관 : 어떤 경우에 static을 붙일 수 있고, 어떤 경우에 static을 붙일 수 없습니까?응시자 : .... 2014. 3. 25.
[Java] 해쉬맵(HashMap)에 대하여 심층적으로 알아보자 HashMap 이란? HashMap은 Map interface를 implements 한 클래스로서 key와 value의 쌍으로 이루어지며 hash 알고리즘을 사용하는 클래스 HashMap 특징 1. Hash table based implementation of the Map interface. 해쉬 맵은 맵 인터페이스를 기반으로 구현 2. This implementation provides all of the optional map operations, and permits null values and the null key. 해쉬맵은 맵의 수행을 모두 지원하며, key와 value에 null을 허용 3. This class makes no guarantees as to the order of the m.. 2014. 3. 21.
[Java] Javassist로 클래스의 의존성을 식별 할 수 있다. Javassist 는 꽤 유명한 Java Bytecode 라이브러리이다. 이것을 이용해서 사용자는 클래스를 동적으로(!) 변형해서 쓸 수 있다. 이걸 이용해서 흔히 말하는 AOP를 할 수도 있다.뭐 그것들은 검색하면 다 나올 테니 여기서 언급하지는 않을 거고.. 여기서는 현재 있는 클래스를 분석해서 클래스 의존성을 알아내는 방법 일부를 보이겠다. 의존성을 알아내는 행위는 엄청나게 큰 어플리케이션을 (업무 별로) 적당히 나누어 빌드 및 배포할 때 꽤 중요한데,필요하다 싶은 모든 라이브러리나 컴포넌트를 모두 배포하면 너무 뚱뚱해서 자원이 부족하거나 기동 시간이 현실적이지 못하는 경우가 생기기 때문이다. 그럴 때는 그 어플리케이션에서 실제 쓰이는 컴포넌트를 식별해서"이 컴포넌트를 포함하는 최소 셋"을 분리하는.. 2014. 3. 19.
[Java] java.lang패키지와 String 클래스 Object 클래스와 마찬가지로 java.lang.패키지에 포함되어있기 때문에 import문 없이도 사용할 수 있도록 되어 있다. 2. String 클래스문자열을 저장하기 위해서 문자형 배열 변수(char[] value)를 인스턴스 변수로 정의해 놓고, 인스턴스 생성 시 생성자의 매개변수로 입력받는 문자열은 이 인스턴변수에 문자형 배열로 저장되는 것이다. 그리고 String 클래스는 다양한 형태의 생성자를 제공해준다. 문자열 상수를 생성자에 전달해서 String 객체를 생성한 예이다. String str01 = new String("FUCK_JAVA"); 문자형 배열로 저장되는 것이라 다음과 같이 char[]를 매개 변수로 갖는 생성자를 이용할 수 있다. char []c = {'F','C','K','_'.. 2014. 1. 23.