본문 바로가기
[Java] URLConnection 이야기 자바, URLConnection 이야기 URLConnection 은 추상 클래스로 생성자를 이용하여 생성할 수 없다. URL.getConnection() 메소드를 통해 얻어올 수 있다. 이 URLConnection.connect() 함수를 통해서 해당 URL 에 연결할 수 있다. Url url = new URL( "http://www.google.com" ); URLConnection conn = url.getConnection();conn.connect(); 이 Connection 에 getInputStream() 을 호출해 내용을 불러올 수도 있고,getOutputStream() 을 이용해 내용을 쓸 수도 있다. getHeaderField( String name ) 을 이용해서 헤더 정보도 가져올 수.. 2013. 8. 14.
[Java] ClassPath 에 대한 이야기. 자바, ClassPath 에 대한 이야기. 요즘은 개발할 때 맨날 이클립스를 사용하니깐 직접 classpath 를 지정하며 컴파일 할 경우는 없지만, 이전에 학부시절에는 cmd ( 명령 프롬프트창 혹은 도스창 ) 에서 직접 javac 를 이용해 컴파일하고, java 를 이용해 실행하곤 했다. 자바 책을 보다 보니 classpath 에 대한 이야기가 나오는데, 학부시절에는 그냥 습관적으로 하던 것의 원리가 담겨져 있어 놀랬다.우리가 컴파일을 할 때 클래스패스를 지정하는 이유는.. 자바 프로그램은 기본적으로 CLASSPATH 로 지정된 경로에서만 클래스를 로딩할 수 있다. CLASSPATH 로 지정된 경로에서만 rt.jar 를 가져다 쓸 수 있다. 이런 이유에서 classpath 지정은 꼭 필요하다. > j.. 2013. 8. 13.
[Java] 접근 제한자에 대한 이야기. 자바, 접근 제한자에 대한 이야기. 접근제한자는 경우에 맞게 잘 사용하도록 설계되었는데 그냥 말단 client app 개발자인 필자는 사실 대부분 private 과 public 만 사용한다. library 를 설계하는 입장에서는 protected 나 default 도 많이 사용할텐데..여튼 접근 제한자들에 대해 함 알아보자. private 해당 클래스 내에서만 접근 가능 default 접근 제한자를 안 붙인 경우를 이야기하는데같은 패키지 내에서만 접근이 가능하다. protected 같은 패키지 내는 물론, 상속한 child 들도 사용이 가능하다. public 어디서든 사용이 가능하다. access modifier, default, Java, java access modifier, library 설계, P.. 2013. 8. 13.
[Java] inner class 에 대한 이야기 자바, inner class 에 대한 이야기. 자바를 사용하다 보면 항상 적게 사용하는 녀석들은 정확히 개념을 못 잡기 마련이다.필자에게는 그런 것 중 하나가 inner class 인데, 사용은 잘 하지만 IDE 에 의존하는 경향도 있기 떄문에 정확히 개념을 잡아본다. inner class Class 안에 정의된 내부 클래스로, 외부 클래스의 자원을 마치 자기 것처럼 사용할 수 있다는 장점이 있다. Inner class 로 정의하지 않은 경우에는 outer class 의 자원을 파라미터로 다 넘겨주어야 하기 떄문에 복잡해질 수 있다. 일반 inner class 는 맴버변수의 level 로 정의된다. 따라서 outer class 의 instance가 있어야 inner class 를 new 를 통해서 만들 .. 2013. 8. 9.
[Java] 형 변환에 대한 깊숙한 이야기. 자바, 형 변환에 대한 깊숙한 이야기. 요즘은 Eclipse 를 비롯한 IDE 들이 워낙 잘 되어 있어서, 알아서 에러를 표시해주고 어떻게 고쳐져야 하는지 Suggestion 까지 나와서 잊기 쉬운 간단하면서 당연한 형변환에 대한 이야기를 해본다. 작은 타입의 데이터를 큰 타입의 변수에 할당할 때는 자동 변환된다. 작은 타입과 큰 타입의 예는 int 와 long 의 관계처럼 볼 수 있다.만약 long 타입의 변수가 있는데, 이 변수에 int 값을 넣어주면 자동 형변환이 된다는 이야기이다. int a = 10;long b = a; // OK!! no casting necessary 큰 타입의 데이터를 작은 타입 변수에 할당할 때는 명시적으로 형 변환을 해 주어야 한다. 큰 타입의 데이터릊 작은 타입의 변수.. 2013. 8. 5.
[Java] String.equals( Object ) 에 대한 고찰. Java, String.equals( Object ) 에 대한 고찰. 평소에 str.equals( "abc" ) 와 같은 형태로 주로 써왔는데 사실 "abc".equals( str ) 가 좋다고 한다.즉 null 이 아님이 확실한 string 에 equals method 를 호출하여 string 비교하는 것이 추천된다.이는 string 이 null 일 경우 NullPointerException 이 발생하기 때문에, 이를 위해서 null check 코드가 하나 더 추가되기 때문. 결론! (null 이 아님이 확실한 string).equals( (비교하고픈 str) ) 의 형태로 쓰는 것이 좋다. Android, equals, Java, NullPointerException, string, string.eq.. 2013. 8. 2.
[Java] Locale Based Date Format Sample Code. Java, Locale Based Date Format Sample Code. 요런 포맷을 얻고 싶다면.. 2013년 6월 30일 일요일오전 1:43 아래코드를 통해 dateFormat 과 timeFormat 을 각각 얻어서 출력시키면 된다.! Date now = new Date( System.currentTimeMillis() );DateFormat dateFormat = DateFormat.getDateInstance( DateFormat.FULL, Locale.getDefault() );DateFormat timeFormat = DateFormat.getTimeInstance( DateFormat.SHORT, Locale.getDefault() ); Date, date format, DateForm.. 2013. 7. 31.
[android] Lombok 뭐 하는 녀석이냐? 안드로이드, Lombok 뭐 하는 녀석이냐? Lombok 이 뭐야? OpenSource project 로 eclipse 에 설치해서 사용하는 유용한 녀석이다. add-on 비슷한 녀석이랄까?annotation 등을 이용하여 반복적으로 생성하는 지루한 코드들을 모두 생략할 수 있다. Lombok Features Lombok Feature Official Page @Getter, @Setter 자동으로 getter, setter 들을 만들어준다.accesslevel 도 지정가능하고, override 도 가능하다. @Getter(lazy=true) thread-safe 한 getCached() 라는 함수를 만들어준다. 이 함수는 expensive 한 작업에 대해서 cache를 뜬다. @ToString 필자가 .. 2013. 7. 14.
JIT 컴파일러(Compiler)에 대해 알아본다. JIT 컴파일러(Compiler)에 대해 알아본다. JIT 컴파일러의 JIT는 Just-In-Time 의 약자로, 말 그대로 하면, "그 순간" 컴파일러라는 뜻인데, 사용할 때 컴파일한다는 의미이다. 무슨 말인지 모를 것이다. 당연하다. 하지만 아래의 글을 읽어보면, 아아.. 그런 말이구나 할 것이다. 이 JIT Compiler는 자바에서 대표적으로 사용하고 있다.( 요즘은 Platform Independent 가 대세이기 때문에 .NET 도, 브라우저도 사용한다. ) Java에서 Compile 을 하면 Bytecode 로 변환된다.( 이는 수도없이 들어봤을 것이다. 하지만 제대로 이해하지 못했을 것이다.. ?? )이 바이트코드는 기계가 바로 읽을 수 있는 형태가 아니며, 이 바이트코드는 실제 실행될 때.. 2013. 6. 27.
반응형