본문 바로가기

JAVA22

자바 언어 (java language) 자바는. 자바는 1990년대 썬 마이크로 시스템즈(Sun Microsystems, Inc, 이하 썬)의제임스 고슬링(James A. Gosling)이 개발한 언어이다. 제임스 고슬링 형님은 자바의 아버지라고 불리는 사람이며 자바가 객체 지향 프로그래밍(Object oriented Programming)을 지원하는 언어가 되도록 가장 큰 영향력을 주었다. 원래는 가전제품에 설치될 임베디드 시스템(Embedded System)을 위한 언어로 개발되었기 때문에 개발 환경에 구애받지 않도록 설계되었다.그 당시 객체 지향 프로그래밍과 개발 환경에 구애받지 않는 특징이 지금의 자바 형태에 근간이 되었다. 자바는 개발 목적에 따라 언어 사용환경을 크게 세 가지로 구분 할 수 있다. Java SE(Java Standa.. 2016. 5. 4.
java null 키워드로 메모리 효율적으로 관리하기. 자바 기본형(Primitive Type) 변수들(boolean, char, byte, short, int, long, float, double)은 가각 변수형에 따라서 기본값이 존재한다.ex) boolean : false, int : 0 이외의 참조형(Reference Type) 변수들은 기본값이 존재하지 않는다. 이런 변수들은 값이없는 상태로 이름만 가지고 있으며 이런상태의 변수는 널(null) 값을 가지고 있다고 말하며 자바에서도 이러한 상태를 나타내는 null 키워드가 존재한다. 변수에 값을 넣는다는 의미는 곧 메모리에 데이터를 새롭게 생성했다는 의미이며 String value = null; 와같이 선은을 하면 value 라는 변수는 JVM 메모리에서 참조하는 변숫값이 없음을 의미한다.곧 value.. 2016. 5. 4.
디자인패턴 - 데코레이터 패턴 (decorator pattern) 데코레이터 패턴 (decorator pattern) 객체에 추가적인 요건을 동적으로 첨가한다.데코레이터는 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공한다. 데코레이터 패턴 클래스 다이어그램 ConcreteComponent에 새로운 행동을 동적으로 추가할수 있다.각 데코레이터 안에는 구성요소(Component)에 대란 레퍼런스가 들어있는 인스턴스 변수가있다.Decorator는 자신이 장식할 구성요소(Component)와 같은 인터페이스 또는 추상 클래스를 구현한다.ConcreteDecoratorA, ConcreteDecoratorB 에는 그 객체가 장식하고있는(데코레이터가 감싸고 있는 Component객체)을 위한 인스턴스 변수가 있다. 따라서 데코레이터는 Component.. 2016. 5. 4.
디자인패턴 - 옵저버 패턴 (observer pattern) 옵저버 패턴 (observer pattern) 한객체의 상태가바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로일대다(one-to-many) 의존성을 정의한다. 옵저버 패턴을 구현하는 방법에는 여러가지가 있지만 대부분 상태를 저장하고있는 주제 인터페이스를 구현한 하나의 주제객체와 주제객체에 의존하고있는 옵저버 인터페이스를 구현한 여러개의 옵저버객체 가 있는 디자인을 바탕으로 한다. 데이터 전달방식은 2가지가 있다.주제객체에서 옵저버로 데이터를 보내는 방식(푸시 방식)옵저버에서 주제객체의 데이터를 가져가는 방식 (풀 방식) 옵저버 패턴 클래스 다이어그램 디자인 원칙. 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다. 옵저버 패턴은.. 2016. 5. 3.