article id #168
categorized under programming/terms & written by 정환
categorized under programming/terms & written by 정환
1. 일반 자바 빈즈의 엔터프라이즈 자바 빈즈의 차이점
2. POJO(Plain Old Java Object)
3. 객체와 인스턴스의 차이점
4. 추상클래스와 인터페이스의 차이점
자바빈이란 용어는 재사용이 가능한 컴포넌트를 뜻합니다. 줄여서 빈이라고 부르기도 해요.
기존의 엔터프라이즈 빈이 아닌 일반 빈은 개발도구에서 쓰일수 있는 명명 관행을 따르는
재사용이 가능한 컴포넌트를 뜻합니다.
자바빈 가운데 가장 대표적인 것으로 스윙 버튼이나 텍스트 필드와 같은 GUI 컴포넌트를 들 수
있습니다. 거의 모든 자바 IDE는 자바빈 호환 기능을 갖추고 있기 때문에 비쥬얼 레이아웃 툴에서
작업을 할때는 버튼만 클릭하면 색, 크기, 폰트 등을 설정할수 있는 속성창이 자동으로 뜹니다.
빈은 게터와 세터에 대한 어떤 관행을 따르기 때문에 그런 툴에서 해당 빈이 가지고 있는 속성을
파악할수 있습니다.
하지만 일반 자바빈이 GUI 컴포넌트에서만 쓰이는 것은 아닙니다. 지니나 서블릿과 같은 다른
자바 기술에서도 자바빈 기능을 사용할 수 있습니다.
엔터프라이즈 자바빈은 재사용이 가능한 컴포넌트라는 점을 제외하면 일반 자바빈과 비슷한 점이
없다고 할수 있습니다. 일반 자바빈의 빈으로써의 특징은 대부분 개발과정에서 한 빈의 이벤트를
다른 빈의 메소드에 연결한다거나 속성값(대부분의 경우에 인스턴스 변수값)을 설정하는 과정을
쉽게 또는 빠르게 하기 위한 용도로 쓰입니다. 그리고 일반 빈은 보통 자바 클래스와 마찬가지로
JVM에서 실행이 되요. 하지만 엔터프라이즈 빈의 빈으로서써의 특징은 실행 시에 발휘되며
엔터프라이즈 빈은 반드시 EJB 컨테이너의 관리 하에 실해되어야 합니다.
기존의 엔터프라이즈 빈이 아닌 일반 빈은 개발도구에서 쓰일수 있는 명명 관행을 따르는
재사용이 가능한 컴포넌트를 뜻합니다.
자바빈 가운데 가장 대표적인 것으로 스윙 버튼이나 텍스트 필드와 같은 GUI 컴포넌트를 들 수
있습니다. 거의 모든 자바 IDE는 자바빈 호환 기능을 갖추고 있기 때문에 비쥬얼 레이아웃 툴에서
작업을 할때는 버튼만 클릭하면 색, 크기, 폰트 등을 설정할수 있는 속성창이 자동으로 뜹니다.
빈은 게터와 세터에 대한 어떤 관행을 따르기 때문에 그런 툴에서 해당 빈이 가지고 있는 속성을
파악할수 있습니다.
하지만 일반 자바빈이 GUI 컴포넌트에서만 쓰이는 것은 아닙니다. 지니나 서블릿과 같은 다른
자바 기술에서도 자바빈 기능을 사용할 수 있습니다.
엔터프라이즈 자바빈은 재사용이 가능한 컴포넌트라는 점을 제외하면 일반 자바빈과 비슷한 점이
없다고 할수 있습니다. 일반 자바빈의 빈으로써의 특징은 대부분 개발과정에서 한 빈의 이벤트를
다른 빈의 메소드에 연결한다거나 속성값(대부분의 경우에 인스턴스 변수값)을 설정하는 과정을
쉽게 또는 빠르게 하기 위한 용도로 쓰입니다. 그리고 일반 빈은 보통 자바 클래스와 마찬가지로
JVM에서 실행이 되요. 하지만 엔터프라이즈 빈의 빈으로서써의 특징은 실행 시에 발휘되며
엔터프라이즈 빈은 반드시 EJB 컨테이너의 관리 하에 실해되어야 합니다.
2. POJO(Plain Old Java Object)
순수 자바 클래스들을 이르는말, POJO(Plain Old Java Object, 보통의 기존 자바 오프젝트라는 뜻으로, EJB와 같은 거창한 컴포넌트가 아닌 일반적인 자바 클래스를 가리킵니다. 영화 ‘오스틴 파워스’에 등장하는 모조(Mojo)의 패러디처럼 들리기도 하지요)의 활용과 비동기 호출의 지원입니다.
간단하게 말하면 자바 SDK에 있는 순수 자바 클래스들을 프로그래밍 하는것.
간단하게 말하면 자바 SDK에 있는 순수 자바 클래스들을 프로그래밍 하는것.
3. 객체와 인스턴스의 차이점
인스턴는 클래스를 근거로 생성된 인스턴스의 관점, 즉 생성된 인스턴스를 초점을 맞추어 이야기 할때 많이 사용. 하지만 객체는 이렇게 하나의 클래스로 만들어진 객체들을 전체적인 집합적인 의미로
객체를 가리킬때 사용되곤 한다. 이런 개념도 논란이 많은거 같고. 자세히는 잘 이해가 안간다..
객체를 가리킬때 사용되곤 한다. 이런 개념도 논란이 많은거 같고. 자세히는 잘 이해가 안간다..
4. 추상클래스와 인터페이스의 차이점
둘다 스스로 객체 생성은 불가능하다. 두개 전부를 미완성 설계도로 이해하면 편할듯 하다.
미완성 설계도로 제품을 만들수 없듯이 :)
하지만 추상클래스와 인터페이스를 쓰는 이유는 각기 다른 TV가 공통된 기능을 가진 설계도를
가질수 있듯이 공통된 부분만을 그린 미완성 설계도를 만들어 놓고 설계도를 이용하여 각각의
설계도를 완성하는것이 훨씬 효율적~
추상클래스가 미완성 설계도라면 인터페이스는 기본설계도
인터페이스로 다중상속과 같은 효과를 낼수도 있음.
미완성 설계도로 제품을 만들수 없듯이 :)
하지만 추상클래스와 인터페이스를 쓰는 이유는 각기 다른 TV가 공통된 기능을 가진 설계도를
가질수 있듯이 공통된 부분만을 그린 미완성 설계도를 만들어 놓고 설계도를 이용하여 각각의
설계도를 완성하는것이 훨씬 효율적~
추상클래스가 미완성 설계도라면 인터페이스는 기본설계도
인터페이스로 다중상속과 같은 효과를 낼수도 있음.





