[자바다형성기초교육]자바정적/동적 바인딩(JAVA static/early biding, dynamic/late biding),자바교육,JAVA객체지향강좌,JAVA기초튼튼히!
메소드에 대한 호출을 메소드 바디와 연결하는 것을 바인딩이라고 하는데 자바에서는 크게 2종류가 있다.
- 정적바인딩(static binding, early binding)
- 동적바인딩(dynamic binding, late binding)
1. 정적 바인딩(static/early biding)
- Object의 타입이 컴파일러에 의해 컴파일타임에 결정되는 것을 말하며 private, final, static 메소드의 경우 모두 정적 바인딩 이다.
class Dog {
private void jitda(){
System.out.println("멍멍~~");
}
public static void main(String[] args) {
Dog d = new Dog();
d.jitda();
}
}
[결과]
멍멍~~
2. 동적 바인딩(dynamic/late binding)
Object의 타입이 런타임중에 결정된다.
아래 예제에서 컴파일러는 Dog의 인스턴스가 Pudle의 인스턴스도 되기에 타입을 알수없으며 단지 컴파일 타입오류 체크를
위해 Dog을 Base Type으로 사용하여 컴파일을 진행한다. 컴파일시점에는 호출된 메소드만 기술하고 넘어가게 되고 실행중에
메모리힙에 생성된 Pudle의 jitda() 메소드가 호출되는 것이다.
package onj;
class Dog {
void jitda(){
System.out.println("멍멍~~");
}
}
class Pudle extends Dog {
void jitda(){
System.out.println("푸들~~");
}
}
public class DogTest {
public static void main(String[] args) {
Dog d = new Pudle();
d.jitda();
}
}
[결과]
푸들~~
오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com
평일주간(9:30~18:10) 개강
(7/14)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]안드로이드개발자과정
(7/21)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/21)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/21)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/21)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
평일야간(19:00~21:50) 개강
(7/15)SQL기초에서실무까지
(7/15)안드로이드개발자과정
(7/16)Spring3.X, MyBatis, Hibernate실무과정
(7/17)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/21)웹퍼블리싱 마스터
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(8/05)MyBatis3.X, Hibernate4.X ORM실무과정
주말(10:00~17:50) 개강
(7/12)SQL초보에서 Schema Object까지
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/19)C#,ASP.NET마스터
(7/19)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정
(8/02)MyBatis3.X, Hibernate4.X ORM실무과정
(8/09)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
주말저녁(18:30~22:20) 개강
(8/02)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지
www.oraclejavacommunity.com
평일주간(9:30~18:10) 개강
(7/14)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]안드로이드개발자과정
(7/21)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/21)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/21)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/21)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
평일야간(19:00~21:50) 개강
(7/15)SQL기초에서실무까지
(7/15)안드로이드개발자과정
(7/16)Spring3.X, MyBatis, Hibernate실무과정
(7/17)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/21)웹퍼블리싱 마스터
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(8/05)MyBatis3.X, Hibernate4.X ORM실무과정
주말(10:00~17:50) 개강
(7/12)SQL초보에서 Schema Object까지
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/19)C#,ASP.NET마스터
(7/19)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정
(8/02)MyBatis3.X, Hibernate4.X ORM실무과정
(8/09)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
주말저녁(18:30~22:20) 개강
(8/02)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지
댓글 없음:
댓글 쓰기