본문 바로가기
[Effective Java] 박스화 기본형보다는 기본형을 사용하자. [Effective Java] 박스화 기본형보다는 기본형을 사용하자. - 기본형과 박스화 기본형 간에는 크게 세 가지 차이점이 있다. 1. 기본형은 자신의 값만을 갖는 반면, 박스화 기본형은 식별성(identity)를 갖는다. 두 개의 박스화 기본형이 값은 같지만 == 로 비교하면 다를 수 있다는 것이다. 2. 기본형은 완전한 기능 값만을 갖는 반면, 박스화 기본형은 자신과 대응되는 기본형이 가질 수 있는 모든 기능 값에 추가하여 비 기능 값인 null 을 갖는다. 3. 기본형은 일반적으로 박스화 기본형에 비해 실행 시간과 메모리 사용 효율이 좋다. - == 비교 연산자를 박스화 기본형에 적용하면 대부분 틀린 결과가 나온다. 박스화 기본형을 비교할 떄는 두 개의 지역 변수를 추가하여 primitive 타.. 2017. 2. 2.
[Effective Java] 제네릭 타입을 애용하자. [Effective Java] 제네릭 타입을 애용하자. - 클래스를 제네릭화 하는 방법. - 1. 클래스 선언부에 하나 이상의 타입 매개변수를 추가. - 2. 코드 안에 나오는 모든 Object 타입을 그것에 맞는 타입 매개변수로 변경한 후 컴파일. new E[ size ] 와 같은 부분에서 보통 에러가 난다. 이를 피해가는 방법 1. E[] elements = (E[]) new Object[ size ]; // 타입 안전하진 않다. 이를 피해가는 방법 2. Object[] elements = new Object[ size ]; // 사용하는 부분에서 casting 이 필요하다.. scalar 타입보다 배열 타입에 대한 unchecked 캐스트 경고를 억제하는 것이 더 위험하므로, 2번 방법이 더 적합해.. 2016. 11. 29.
[Effective Java] 불필요한 객체의 생성을 피하자. 불필요한 객체의 생성을 피하자. - 기능적으로 동일한 객체를 필요할 때마다 매번 새로 생성하기보다는 하나의 객체를 재사용하는 것이 좋을 때가 많다. 재사용을 하면 객체 생성에 소요되는 비용(시간과 자원)이 절감되어 실행 속도가 더 빨라지고 코드도 보기 좋게 작성할 수 있다. 불변(immutable) 객체는 항상 재사용이 가능하다. - 불 필요한 객체 생성을 막기 위한 첫번째 좋은 방법은 static 팩토리 메소드를 사용하는 것이다. - 불변객체가 아닌 가변객체더라도 상태가 변경되지 않는 것이 보장되면 재사용 가능하다. - 재사용을 막기 위한 static 팩토리 메소드에서 늦 초기화 ( lazy initialization ) 을 하는 경우가 있는데, 후에 다루겠지만 두드러진 성능 개선이 나타나진 않고, 오.. 2015. 4. 30.
[Tutorial] Introduction of PHP. Introduction of PHP. Tutorial 대신 를 사용하는 것을 SGML 방식이라고 하며, 이 스타일을 사용하려면 config 파일의 short_open_tags 를 활성화시키거나 짧은 스타일 태그를 사용할 수 있도록 PHP 를 컴파일 해야 한다. 이 방식은 대부분의 서버가 지원하지만, 몇몇 서버는 xml 형태의 선언에 영향을 주기 때문에 Off 를 시켜 놓는다. 따라서 특수한 경우 혹은 config 에 확신이 있는 경우가 아니면 사용하지 않는 것이 좋겠다. 형식으로도 사용 가능하다. ASP 방식으로 알려진 도 사용할 수 있는데, 이 역시 config 파일에서 asp_tags 를 활성해놓았어야 사용할 수 있다. 이는 대부분의 서버에서 기본으로 활성화되어 있지 않기 때문에 "가급적" 사용하지 .. 2013. 10. 5.
[JavaScript/Tutorial] Type 에 대한 기본 정보. ( Object, Array, Function, Type check ) Type 에 대한 기본 정보 ( Object, Array, Function, Type check) [이전강좌] JavaScript 코드 위치에 대한 주의사항. JavaScript의 Object type 은 대표적으로 Object, Array, Function 이 있다. Object Object 를 만드는 방법은 Constructor(생성자)를 이용한 방법과 object literal을 이용해 만드는 방법이 있다. Literal 을 통해 만드는 오브젝트는 순서없는 key-value pair 로 구성되어 있다. var newObject = new Object(); // 생성자 정의 var newObject2 = { name: "aroundck", class: "javascript" }; // Literal .. 2013. 5. 12.
반응형