Programming Language15 [EffectiveJava] 정적 팩터리 메서드(Static Factory Method) 장단점 정적 팩터리 매서드(Static Factory Method)는 Java 서적에 바이블이라고 할 수 있는 effective java를 읽은 개발자라면 생성자 대신 정적 팩토리 메서드를 고려하라 라는 첫 장에서 많이 보았을 겁니다. 정적 팩토리 메서드에 장단점에 대해서 알아봅시다. 인스턴스 전달 수단 과 정적 팩토리 메서드 클라이언트가 클래스의 인스턴스를 얻는 일반적인 수단은 Public 생성자이다. 클래스의 생성자와 별도로 static factory method를 제공할 수 있다. static factory method는 인스턴스를 반환하는 정적 메서드를 말한다. public static Boolean valueOf(boolean b){ return b ? Boolean.TRUE : Boolean.FALS.. 2022. 11. 19. [Java] Interface(인터페이스)와 Abstract Class(추상클래스)를 비교해보자 많이 유사하지만 다른 인터페이스(Interface)와 추상클래스(abstract class)의 차이에 대해서 알아보도록 하겠습니다. extend, implement 등의 기본적인 사용법은 쓰지 않겠습니다. Interface 구현에 의존적 interface는 특정 기능을 수행하자는 일종의 contract 즉 사전 합의가 주된 목적이기 때문에 interface를 사용하는 의도를 만족시키기 위해서는 implementation 죽 구현에 의존한다 즉 concrete class로 반드시 구현되어야 하는 일종의 contract인 것. 상태를 갖지 못한다 인터페이스는 state 즉 상태를 갖지 못한다. interface에서의 variable은 전부 static final 이다. 변경 가능한 인스턴스 변수를 사용할 수.. 2022. 11. 19. [Java] 상속 vs 컴포지션 Java에서 상속보다는 컴포지션(composition)을 활용하는 것을 권장하는 경우가 많습니다. 왜 상속보다 컴포지션을 권장하는지 어떤 상황에서는 상속을 사용하는 게 더 나은지 알아보도록 하겠습니다. 상속(inheritance)과 컴포지션(composition) effective java item 18장을 보면 상속보다는 컴포지션을 사용하기를 권장한다. 왜 그럴까? 이번 장에서의 상속은 클래스가 다른 클래스를 확장하는 구현 상속을 의미한다. 인터페이스가 다른 인터페이스를 확장하는 인터페이스 상속과는 무관하다. class와 object들의 관계를 설정하는 데 사용되는 두가지에대해서 알아보자. 상속은 한 클래스를 다른 클래스에서 derive 즉 파생 시킨다. ex) extend 받은 확장된 클래스가 파생됨.. 2022. 11. 12. 이전 1 2 3 다음