JAVA/공부
정적 바인딩 VS 동적 바인딩
PeepPeep!
2025. 1. 15. 22:30
a.jsp에 import 되어있는 b.jsp를 수정하여도 a.jsp를 불러와도 반영되지 않아 해당 문제로 시간이 좀 걸렸다.
문제로는 동적 바인딩으로 import 되어 있어서였다.
해당 문제로 정적 바인딩과 동적 바인딩에 대해 알아 보았다.
우선 바인딩이란 무엇인가 ?
정적 바인딩
사용할 시점 : 컴파일 시점에 클래스 로드
실행 이전에 값이 확정되면 정적 바인딩이라고 한다.
컴파일 타임에 호출될 함수가 결정 되는 것으로, 함수는 기본적으로 정적 바인딩 된다
<%@ page import="sys_top.jsp" %>
정적으로 해당 a.jsp를 수정하지 않고 sys_top.jsp만 수정할 경우 수정한 내용이 반영되지 않는다
반영되게 하려면 a.jsp도 다시 컴파일을 해야 반영된다.
동적 바인딩
사용할 시점 : 런타임 시점에 클래스 로드
실행 이 후에 값이 확정되면 동적 바인딩이라고 한다
런타임에 호츨될 함수가 결정되는 것
<jsp:include file page=" sys_top .jsp" flush="true">
flush="true"일 겨우 강제로 컴파일하여 sys_top.jsp만 수정하여도 a.jsp가 바로 컴파일 되면서 반영됨
유연하게 변경된다는 장점이 있지만,
단점으로는 sys_top.jsp만 따로 컴파일이 돌게 되는 것으로 import를 해당 파일에 다 따로 선언해줘야한다.