2025.10.30
return을 사용하면 자바 실행이 멈춘다.웹 개발에서 프론트엔드 개발자와 백엔드 개발자가 협업할 때, JSP 코드 안에 직접 자바 코드를 작성하면 유지보수 시 코드 수정 여부가 애매해지는 문제가 발생할 수 있다. 이를 해결하기 위해 JavaBean을 사용하여 코드를 Java 파일로 분리할 수 있다.
JavaBean을 활용하면 정보 클래스와 기능 클래스를 의미적으로 구분할 수 있는데 정보 클래스는 데이터를 저장하는 용도로, 예를 들어 Exception과 같은 클래스가 이에 해당하며, 기능 클래스는 특정 기능이나 로직을 수행하는 용도로, 예를 들어 Scanner와 같은 클래스가 여기에 속한다. 협업 상황에서는 누가 봐도 이 클래스가 정보 클래스인지 기능 클래스인지 알 수 있도록 명명 규칙을 적용하는 것이 좋다.
따라서 정보 클래스를 만들면 클래스 이름 뒤에 DTO를 붙이고, 기능 클래스를 만들면 DAO를 붙이는 것이 일반적이다. DTO와 DAO는 같은 결과를 달성하지만, DTO는 데이터를 표현하는 정보 클래스이고 DAO는 기능을 수행하는 클래스라는 차이가 있다.
VO는 변하지 않는 값이나 상수를 저장하기 위해 구분되며, DTO와 VO의 차이는 데이터 변경 가능 여부에 있기 때문에 구분하여 사용하는 것이 좋지만 요즘 개발자들은 두서없이 사용하기도 한다.
DTO는 데이터를 담아 전달하는 객체로, 비유하자면 마트에서 쓰는 카트와 같아서 데이터를 담아 전달할 수 있으며, 다른 사람이 임의로 데이터를 빼갈 수 없도록 은닉화가 기본이며 getter와 setter를 사용하여 데이터를 안전하게 저장하고 접근한다.
웹에서 이러한 DTO를 사용하려면 JavaBean 객체를 생성하고 관리해야 하며, JSP에서는 이를 위해 Action Tag를 사용한다. jsp:useBean 액션 태그를 통해 JSP에서 JavaBean 객체를 생성하고, 생성된 객체의 속성에 값을 설정하거나 가져올 때는 jsp:setProperty와 jsp:getProperty를 사용한다. 이렇게 하면 JSP와 Java 코드가 명확히 분리되어 유지보수와 협업이 훨씬 용이해지는 장점이 있고, 프론트 개발자와 백엔드 개발자 각자의 불편함을 해소할 수 있다.