자바 인터페이스에서 객체가 어떻게 생성되는지 그 원리를 알고 싶네요 !!
딸기맛사탕
1.
뭐, 당연하게도 자바는 객체생성은 안됩니다.
그러나, 인터페이스를 상속받으면 객체가 생성되는데..
그 원리가 궁금합니다..
예를 들어
interface a{
}
class b implement a{
}
interface c{
}
라고 하면
c cc=new c();
는 안되지만.
a aa=new bb(); 는 되는 걸로 알고 있습니다..
이바탕이해가 잘안되네요.. 다형성도 아닌것 같고요 ..
어떤식으로 저렇게 돌아가는지 가르쳐주시기 바랍니다 ㅜㅜ2.
jdbc연결에 요런 설정이 나옵니다.
statement stmt= con.createstatement(resultset.type_scroll_insensitive,resultset.concur_updatable);
resultset rs=stmt.executequery(select ename from emp);statement stmt= con.createstatement.. 여기서
statement는 생성이 되지 않았는데 con.createstatement를 받으면statement객체가 생성된거네요..
이해가 잘 안가네요..
단지 statment stmt는 레퍼런스일 뿐인데요..저도 된다는건 아는데,
그 원리가 궁금하네요.
그 원리좀 가르쳐주셨으면 합니다..
-
가든
자바 설치 폴더의 src 파일을 압축풀고
Calendar 클래스의 getInstance() 메서드를 함 까보시면
도움이 될듯 하네요. -
상1큼해
결국엔 어디선가 만들어서 떤져주는겁니다.
님이 예로 들었던 A aa=new BB(); 가
가능했던것처럼 말이죠.
그리고 인터페이스도 다형성과 관련이 깊습니다~ ㅎ
원래 처음 배울때는 인터페이스, 추상클래스 등등
다형성 관련 부분은 C 에서의 포인터처럼 어려운듯 합니다~ ㅎ -
호빵녀
문법이 그래서 그렇습니다.
-
Aileen
한마디 추가하자면 interface든 abstract든 기초 개발시에 약간 애매한 개념은
pattern을 공부하시다 보면 개념이 조금 잡힐것 같습니다. 이곳에도 강좌 많이 있으니 애용하세요 ^^ -
유진깡
그리고 밑에 statement 얘기를 하신거는.. 제가 jdbc 해본지 오래되서 그럽니다만
아마도 팩토리 메써드 패턴을 사용한 예가 아닐까 싶습니다. 팩토리 패턴에는 팩토리 메써드 패턴과 추상 팩토리 패턴이 있습니다. 전자와 후자가 조금 상이한 패턴이긴 합니다만 기본적인 모토는 객체를 생성해내는 공장이라고 생각하시면 됩니다. factory method pattern은 아마 이곳 코드인 사이트쪽에도 강좌가 올라와 있을겁니다. 참고하세요 ^^