IT 공부/KH 정보교육원

빈즈(beans)란?

Zinisang 2021. 5. 30. 23:12

**1. 빈즈란?**


    컴포넌트이다. 즉 부품이란 의미를 가지고 있다.

    부품이란 만들어 놓으면 필요한 곳에 가져다가 제품을 완성시킬 수 있듯이

    프로그램도 부품 형태로 만들어 놓고 필요할 때 재 사용할 수 있게 한다.

    빈즈 또한 자바 클래스이다.

    따라서 빈즈를 만든다는 의미는 자바 프로그램을 만든다고 생각하면 된다.

 

**2. 빈즈 만들기**


    1) 정보를 저장하는 멤버 변수는 **모두 private** 로 선언한다.


    2) **setter** 를 구성한다.

    setter 란 멤버 변수에 값을 저장하기 위한 메소드들을 의미하는데 메소드 이름은 

    setXxxx() 형태로 구성된다.

    이때 Xxxx 는 멤버 변수를 뜻하며 맴버변수의 첫글자는 대문자로 표시된다.

    예를 들어 멤버 변수가

    private String name=null;

    과 같이 정의 되어 있을 때 name 변수에 값을 저장하기 위한 setter 는

    public void setName(String name){ this.name = name; }

    과 같이 정의 되어야 한다.

    3) **getter** 를 구성한다.

    getter 는 setter 와 반대로 멤버 변수의 내용을 외부로 젂달할 때 사용되는 메소드들을 뜻한다. 위의 멤버 변수

    name 값을 외부로 젂달하기 위해서는 아래와 같이 getter 를 작성한다.

    public String getName(){ return name; }

    4) setter 와 getter 의 접근자는 **모두 public** 으로 선언한다.

    **빈을 사용하는 JSP 파일** 생성 시, 사용되는 빈 태그는 3 종류가 있다.

    **<jsp:useBean id="별칭" class="클래스명" scope="적용범위"/>**

    **<jsp:setProperty name="별칭" property="멤버변수명" value="값"/>**

    **<jsp:getProperty name="별칭" property="멤버변수명"/>**

     id : 해당 프로그램에서 사용하는 객체명이라 할수 있다.(예 id="myB")

     class : package 명과 class 명을 함께 기술한다.(예 class="park.myBean")

     scope : 해당 bean 의 유효범위를 지정한다.(예 scope="page")

     name : id 에서 정의된 객체명(예 name="myB"

    **scope(적용영역)의 종류**

     page : 해당 JSP 페이지에만 적용된다.

     request : 사용자의 요청을 처리하는 동안만 적용된다.

     session : 사용자가 접속을 종료할 때 까지만 적용된다.

     application : 해당 어플리케이션이 살아 있는 동안만 적용된다.