IT 도서

들어가기 전에 추상 클래스를 썼을 때 타입을 추상클래스로 정의해두면 그 타입에 기능을 추가하는 방법은 상속뿐이다. 자바는 단일 상속만 지원하므로 추상 클래스는 새로운 타입을 정의하는데 제약이 있다. 인터페이스의 장점 장점1 : 계층구조가 없는 타입 프레임워크를 만들 수 있다. -다중 구현가능 -계층을 엄격히 구분하기 어려운 개념 표현 가능 -확장하여 제 3의 인터페이스를 정의할 수 있다. public interface Singer{ AudioClip sing(Song s); } public interface Songwriter{ Song Compose(int chartPosition); } public interface SringerSongwriter extends Singer, Songwriter{ A..
상속 public class cat extends animal{ //... do something } 상속 관계에서 상위 클래스를 변경하면 코드 손상의 위험이 있다. 상속을 통해서 생성된 Class와 Objects는 밀접하게 결합되어 있다.(tightly coupled) 상위 클래스는 릴리스마다 내부 구현이 달라질 수 있으며, 그 여파로 코드 한 줄 건드리지 않은 하위 클래스가 오동작할 수 있다. 컴포지션 컴포지션(Composition)은 구성요소라는 뜻으로 기존 클래스가 새로운 클래스의 구성요소로 쓰인다는 뜻이다. public class House { private Bedroom bedroom; private LivingRoom livingRoom; //... do something } private ..
들어가기 전에) 객체를 생성할 때 멤버변수가 5개 이상일때 매게변수를 하나하나 다 넘겨주거나 set을 하는 경우가 있지 않은가? 예시를 보면서 문제점을 생각해보자. 식품포장의 영양정보를 표현하는 클래스를 생각해보자. public class NutritionFacts { private final int servingSize; //(ml, 1회 제공량). 필수 private final int servings; //(회, 총 n회 제공량). 필수 private final int calories; //(1회 제공량당). 선택 private final int fat; //(g/1회 제공량). 선택 private final int sodium; //(mg/1회 제공량). 선택 private final int car..
들어가기 전에 객체를 만들 때 new 생성자를 이용한다. 하지만 프로그래머는 생성자의 매개변수만을 보고 어떤 객체가 반환될 것인지 예측하기 어렵다 정적 팩토리 메서드를 사용해서 생성자 대신 사용해보자! 정적 팩토리 메서드란 객체 생성의 역할을 하는 클래스 메서드로 생성자(Constructor)를 통해서가 아닌 Static Method를 통해서 객체를 생성하는 역할을 한다. 여기서 팩토리는 객체를 생성하는 역할을 분리한 것이라고 한다. 디자인패턴인 팩토리 메서드 패턴과 관련이 없다. 예시를 들어서 먼저 확인 new로 선언 String 객체를 선언할 때 new를 이용한다. String str = new String("hohodu"); valueOf와 같이 메소드 이용 String value1 = String..
호_두씨
'IT 도서' 카테고리의 글 목록