자바·JSP
[Java] Class.forName(String className)
미랭군
2012. 9. 3. 13:32
오랜만에 토비 스프링을 다시 보다가 Class.forName(String value)이라는 구문이 눈에 들어왔고..
평소에는 그냥 아 이렇게 쓰는거구나하고 넘겼는데..이게 뭔지 갑자기 궁금해졌다.
그래서 찾아보니..
forName을 하게 되면 해당 클래스를 동적 로드하게 되는데..이 때는 생성자는 실행하지 않고
static 필드 부분만 실행하게 된다.
고로 "com.oracle.jdbc.OracleDriver" 이 클래스 안에는 static { 솰라솰라} 가 있을테고
DriverManager 안에도 static으로 driver 멤버 변수가 선언되어 있을 것이며, OracleDriver가 로드 될 때
DriverManger안에 세팅을 해주는 방식으로 구현이 되어있다. 이제 궁금점이 풀렸군..