본문 바로가기
[Effective Java] 새로 작성하는 코드에서는 원천(raw) 타입을 사용하지 말자. [Effective Java] 새로 작성하는 코드에서는 원천(raw) 타입을 사용하지 말자. - 하나 이상의 타입 매개변수(type parameter)를 선언하고 있는 클래스나 인터페이스를 제네릭 클래스 또는 제네릭 인터페이스라고 한다. 제네릭 클래스와 인터페이스를 합해서 제네릭 타입이라고 부른다. 각 제네릭 타입에서는 매개변수화 타입(parameterized type)들을 정의한다. ( 이용 ) 실 타입 매개변수(actual type parameter)들은 제네릭 타입의 형식 타입 매개변수(formal type parameter)와 각각 대응된다. ( List 에서 String 이 실 타입 매개변수이고, 기존 T 혹은 E 가 타입 매개변수이다. ) - 각 제네릭 타입에서는 원천(raw)타입을 정의하는데.. 2016. 11. 21.
[Effective Java] 가급적 상속(inheritance) 보다는 컴포지션(composition)을 사용하자. 가급적 상속(inheritance) 보다는 컴포지션(composition)을 사용하자. - 상속은 코드를 재사용하는 강력한 방법이다. 그러나 일을 하는데 가장 좋은 도구는 아니다. 잘못 사용하면 부실한 소프트웨어를 초래한다. - 동일 프로그래머가 서브 클래스와 수퍼 클래스의 구현을 관장하는 같은 패키지 내에서 상속을 사용하는 것은 안전하다 상속을 위해 특별히 설계되고 문서화된 클래스를 확장(extends) 하기 위해 상속을 사용하는 것도 안전하다. 그러나 다른 패키지에 걸쳐 일반적인 실체 클래스로부터 상속을 받는 것은 위험하다. - 상속은 캡슐화(encapsulation) 을 위배한다. 올바른 동작을 위해 서브 클래스는 자신의 수퍼 클래스가 구현하는 상세 내역에 의존한다. 수퍼 클래스의 구현 내역은 소프.. 2016. 10. 27.
[Java] Reflection Tutorial - Dynamic Class Loading and Reloading. Java, Reflection Tutorial - Dynamic Class Loading and Reloading. Java 에서 dynamic 하게 class 를 load 혹은 reload 할 수 있다. The ClassLoader Java 의 모든 class 는 ClassLoader의 subclass 를 이용하여 로드된다.한 class 가 load 될 때 다른 연관된 ( refer 된 ) class 들도 모두 함께 recursive 하게 load 된다. The ClassLoader Hierachy 새로운 class loader 를 작성할 떄면 반드시 Java 의 기본 ClassLoader 를 상속하여 이용해야 한다. 먼저 parent ClassLoader 를 이용하여 load 를 시도하고, paren.. 2014. 1. 9.
[Java] Generic Type Tutorial. Java, Generic Type Tutorial. Generic Type. 주로 Java Collection 에서 많이 사용한다.Collection 에서는 어떤 자료를 담을지 알 수 없으므로 최상위 객체인 Object 형태로 저장 및 관리하도록 설계되어 있다. 하지만 이렇게 Object 로만 두게 되면, 일관성 있는 Type 을 유지할 수 없는 경우도 많이 생긴다. 일관성 있는 Type 을 유지하지 못하면, Runtime Error 에 마딱뜨릴 확률이 높아져서 좋지 않다. 이것을 해결하기 위해 Compile Time 에 원하지 않는 Type 이 들어가는 것을 방지하기 위해 고안 된 것이 Generic Type 이다. Generic Class 정의 // T 라는 객체를 다루는 Containerpublic.. 2014. 1. 6.
[PHP] Tutorial, 객체 지향 PHP, Tutorial, 객체 지향 =====PHP 에서 클래스, 속성, 연산 만들기 class classname{ var $attribute1; function operation1( $param1 ){ }} =====생성자 __construct() 라는 이름을 가진다. =====소멸자 __destruct() 라는 이름을 가진다. =====생성 new 를 이용하여 생성한다. =====클래스 속성 사용하기 instance->attributeName 으로 접근한다. =====GET, SET 함수 __get, __set 함수를 가진다.해당 attribute 에 접근하면 자동으로 get, set 함수가 불리게 된다. =====private 와 public 으로 접근 제어하기 기본은 public. private.. 2013. 11. 15.
[android] how to disable gridview scrolling. android, how to disable gridview scrolling [En]Not only the GridView but also all kinds of AdapterView can be adjusted not to scroll by making new class which extends the view. You can do nothing in the onTouchEvent and onInterceptTouchEvent function which are responsible for taking MotionEvent and do scrolling logic. [Kr]GridView 뿐만 아니라 모든 AdapterView 들의 Scrolling 을 막는 데는 아래와 같이 해당 View 를 exten.. 2013. 9. 23.
반응형