본문 바로가기
[Java] Reflection Tutorial - Dynamic Class Loading and Reloading. Java, Reflection Tutorial - Dynamic Class Loading and Reloading. Java 에서 dynamic 하게 class 를 load 혹은 reload 할 수 있다. The ClassLoader Java 의 모든 class 는 ClassLoader의 subclass 를 이용하여 로드된다.한 class 가 load 될 때 다른 연관된 ( refer 된 ) class 들도 모두 함께 recursive 하게 load 된다. The ClassLoader Hierachy 새로운 class loader 를 작성할 떄면 반드시 Java 의 기본 ClassLoader 를 상속하여 이용해야 한다. 먼저 parent ClassLoader 를 이용하여 load 를 시도하고, paren.. 2014. 1. 9.
[Java] Generic Type Tutorial. Java, Generic Type Tutorial. Generic Type. 주로 Java Collection 에서 많이 사용한다.Collection 에서는 어떤 자료를 담을지 알 수 없으므로 최상위 객체인 Object 형태로 저장 및 관리하도록 설계되어 있다. 하지만 이렇게 Object 로만 두게 되면, 일관성 있는 Type 을 유지할 수 없는 경우도 많이 생긴다. 일관성 있는 Type 을 유지하지 못하면, Runtime Error 에 마딱뜨릴 확률이 높아져서 좋지 않다. 이것을 해결하기 위해 Compile Time 에 원하지 않는 Type 이 들어가는 것을 방지하기 위해 고안 된 것이 Generic Type 이다. Generic Class 정의 // T 라는 객체를 다루는 Containerpublic.. 2014. 1. 6.
[Java] Reflection Tutorial - Dynamic Proxies Java, Reflection Tutorial - Dynamic Proxies reflection 을 이용하여 runtime에 interface 를 구현할 수도 있다.다시 말해 proxy를 사용하기 위해서는 구현하고자 하는 interface가 꼭 있어야 한다. 보통 interface 를 구현하는 방법은 다음과 같이 2가지가 있다. public class FooImpl implmenets FooInterface{@Overridepublic void test(){// do sth...}} new FooImpl{@Overridepublic void test(){// do sth...}} proxy 는 자주 사용되지는 않지만 특별한 경우에 사용하는 세번째 방법이라고 보면 된다. FooInterface foo =.. 2014. 1. 3.
[Java] Reflection Tutorial - Array Java, Reflection Tutorial - Array java.lang.reflect.Array array 에 대한 reflection 은 java.lang.reflect.Array 를 통해서 이루어진다. array 의 util 함수들을 가지고 있는 java.util.Arrays 와 착각하지 말자. Creating Arrays int[] intArray = (int[]) Array.newInstance( int.class, 3 ); Accessing Arrays int[] intArray = (int[]) Array.newInstance( int.class, 3 ); Array.set( intArray, 0, 123 );int a = Array.get( intArray, 0 ); Obtaining.. 2013. 12. 30.
[Java] Reflection Tutorial - Class [Java] Reflection Tutorial - Class Java Reflection 은 class, interface, field, 그리고 method 를 runtime 에 조사할 수 있도록 해준다. 새로운 object 를 만들 수도 있고, method 를 호출할 수도 있다. script language 가 runtime 에 java 의 함수를 호출한다거나, database table 과 object 를 맞출 때 자주 사용한다. Class Class 로 부터 얻을 수 있는 정보들. Class NameClass Modifier ( public, private, synchronized... )Pakcage InfoSuper classImplemented InterfacesConstructorsMeth.. 2013. 11. 12.
[java] full 한글 판별 코드 Java, Full 한글 판별 코드 Full 한글이라 하면, ㅈ ㅇ ㅏ ㅗ 와 같은 완성되지 않은 한글이 아닌,감. 자. 가. 갈 등과 같이 조합이 완성한 한글을 이야기한다.이는 character 당 ascii code 로 판별이 가능하다. return ch >= 0xAC00 && ch 2013. 10. 21.
[Java] JDBC, Database 연결하여 사용하기 자바, JDBC, Database 연결하여 사용하기 JDBC 를 이용하여 Database 를 연결하여 사용하는 방법을 알아본다. Statement Database Query 는 Statement 객체를 이용하는데, 이 객체는 DBConnection 을 통해서 얻을 수 있다. Statement stmt = con.createStatement(); Statement 에는 다음의 2개의 대표함수가 있다. int executeUpdate( String sql ); // db 조작에 관한 어떤 명령을 수행한다. ResultSet executeQuery( String sql ) // db query 에 사용된다. ResultSet ResultSet 은 안드로이드의 Cursor 와 같은 녀석이라고 보면 된다.Resu.. 2013. 10. 11.
[java] 한글 판별 코드 자바, 한글 판별 코드 요즘 모바일 웹에서 이름을 한글로만 입력해야 한다거나, 아이디를 영문과 숫자로만 입력해야 한다거나 하는 등의 제약사항이 있는 경우가 많이 있다. 영문과 숫자로만 구성되었는지는 Patterns 를 이용해 쉽게 매치가 가능하지만, 한글은 판별하기가 조금 힘들었다. 그 이유인즉 TextWatcher 를 이용하여 아예 한글이 아니면 입력이 안되도록 하려고 하는데, 'ㄱ', 'ㅏ' 와 같이 자음이나 모음만 존재하는 경우의 경우도 판별해야 하기에 Patterns 로 매칭하기가 쉽지 않았다. 그래서 찾아낸 것이 바로 이 코드. Character.UnicodeBlock 을 사용한다. Character.UnicodeBlock unicodeBlock = Character.UnicodeBlock.of.. 2013. 10. 5.
[Java] Overriding 성립 조건에 대해 알아보자. 자바, Overriding 성립 조건에 대해 알아보자. 오버라이딩의 친구 오버로딩( Overloading ) 에 대해서도 알아보자. 오버라이딩은 상속에 관련된 녀석인데, 부모 class 가 정의한 함수에 대해서, 자식이 다시 정의해서 사용하는 것을 이야기한다. 부모의 구현이 맘에 들지 않아서일수도 있고, 추가사항이 있어서일수도 있다. class Parent{public void doSth(){ // purnish children}} class Child extends Parent{@Overridepublic void doSth(){// love children}} 위의 경우는 약간의 상상을 더한 개념인데 ㅋㅋ우선 Parent 의 doSth 은 아이들을 혼내는 구현이다. Parent 를 상속한 Child .. 2013. 10. 1.
반응형