반응형

자바

    컴퍼지트 패턴 (Composite pattern)

    컴포지트 패턴 (Composite pattern)은 부분-전체의 관계를 갖는 객체들을 정의할 때 유용하다. 그리고 클라이언트는 전체와 부분을 구분하지 않고 동일한 인터페이스를 사용할 수 있다, 컴퍼지트 패턴은 크게 다음과 같이 구성된다. Component : Leaf 클래스와 Composite 클래스에 공통 인터페이스 Leaf: 부품들 (Component 클래스의 하위 클래스) Composite : 부품들을 사용하는 본체 클래스 여러가지 Leaf 클래스들을 가진다. 또한 Composite 클래스 역시 Component의 하위 클래스로서 여러개의 Composite를 소유할 수도 있다. 예를 들어보자 휴대폰을 조립하기 위해서 다음과 같이 휴대폰을 구성하기위해 부품들의 가격과 전력을 계산하는 구조가 있다고 가..

    자바 빈즈 개념 설명(Java Beans)

    java beans(자바 빈즈) 빈즈는 특정한 일을독립적으로 수행하는 컴포넌트를 의미한다.빈즈또한 자바 클래스이기 때문에 JSP 파일 스크립트릿 부분에서 인스턴스를 만들어 사용할 수 있다. 그러나 일반 클래스와 다를바없이 사용할수도 있지만 JSP 빈즈만의 특징적으로 사용할 수 있다.일반적으로 빈즈를 사용하는 경우, 사용자 입력을 처리하기 위한 HTML이나 JSP가 있어야 폼의 액션에 연결된 JSP 파일이 있어야 한다. 또한 폼을 처리하는 JSP 파일에서 참조할 빈즈 클래스가 필요하다. 1. form html(form, jsp, DB컬럼네임이 같아야한다.)ㄷ 2. a.jsp 3. JSP BEans class(my.MemberBean)publc static setUsername(String username)..

    선택정렬, 버블정렬, 삽입정렬 예제

    선택정렬 for(int i = 0; i

    인스턴스 메소드와 정적 메소드

    - 인스턴스 메소드는 인스턴스 메소드와 관련된 작업을 하는, 즉 메서드의 작업을 수행하는데 인스턴스변수를 필요로 하는 메서드이다.- 인스턴스와 관련이 없는 메서드를 클래스메서드(static메서드)로 정의한다. 1. 클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통적으로 사용해야하는 것에 static을 붙힌다. 2. 클래스변수(static 변수)는 인스턴스를 생성하지 않아도 사용할 수 있다. 3. 클래스 메서드(static 메서드)는 인스턴스 변수를 사용할 수 없다. 4. 메서드 내에서 인스턴스변수를 사용하지 않는다면, static 을 붙이는 것을 고려한다.

    java 향상된 for문

    1. 배열for( 배열의 타입 변수명 : 배열) {//문장} 2. 컬렉션for( 컬렉션에 저장된 요소의 타입 변수명 : 컬렉션){//문장} ex)1. 배열int [] arr = {10,20,30,40,50}; 구 반복문for(int i=0; i

    java 오토박싱 예제

    구 사용(언박싱)ArrayList list = new ArrayList();list.add(new Integer(10));list.add(new Integer(20));list.add(new Integer(30)); Integer i = (Integer) list.get(0);int value = i.intValue(); 현 사용 (오토 박싱)ArrayList list = new ArrayList();list.add(10);list.add(20);list.add(30); int value = list.get(0);

    java 객체 비교를 위한 equals 예제

    Value v1 = new Value(10);Value v2 = new Value(20); v1.equal(v2)를 하면 v1과 v2의 주소값을 비교하기 때문에 false가 나올 수밖에 없다. 이런경우 overiding을 통해 해결할 수 있다. class person{long id; public boolean equals(Object obj){if(id == ((Person)obj).id){return true;elsereturn false;}} class test{public static void main(String args[]){person p1 = new person(10);person p2 = new person(20); if (p1 == p2) // 이제 제대로 값 비교가 된다. }

    java 문자열 형변환

    - 기본형 -> 문자열String valueOf(boolean b)String valueOf(char c)String valueOf(int i)String valueOf(long l)String valueOf(float f)String valueOf(double d) - 문자열 -> 기본형boolean Boolean.getBoolean(String s)byte Byte.parseByte(String s)short short.parseShort(String s)int Integer.parseInt(String s)long Long.parseLong(String s)float Float.parseFloat(string s)double Doubel.parseDouble(string s)

    자바 얕은 복사, 깊은복사 개념 및 예제

    1. shallowCopypublic static int [] shallowCopy(int arr[])return arr; 얉은 복사를 의미하고 배열이나 객체를 복사할 때 단순히 참조만 복사하는것으로써 원본이 변경되면 복사본도 같이 변경된다. 2. deep copypublic static int [] deepCopjy(int arr[]){if (arr == null)return null; int result[] = new int[arr.length]; System.arraycopy(arr, 0 , result, 0, arr.length);return result;} ex) package javas; public class javas { public static void main(String args[])..

    java iterator 간단 사용법

    public static void main(String args[]) { LinkedList list = new LinkedList(); list.add(1); list.add(2); list.add(3); list.add(4); Iterator it = list.iterator(); while(it.hasNext()){ System.out.println(it.next()); } } boolean hasNext() : 읽어 올 요소가 남아있는지 확인Object next() : 다음요소를 읽어온다.,void remove() : next()로 읽어 온 요소를 삭제한다.

반응형