위 이미지와 같은 문제 생길시

 

 

 

Tools -> Material Theme -> Material Theme opotions -> Toggle Themed Title Bar -> 인텔리제이 재시작

 

 

해결완료!!

'Intelli J' 카테고리의 다른 글

[Intelli J] java: error: release version [version] not supported  (0) 2019.07.26

아이템 1. 생성자 대신 정적 팩터리 메서드를 고려하라.

정적팩터리메서드의 장점.

1. 이름을 가질 수 있다.

이름이 없는 생성자와는 다르게 반환 될 객체의 특성을 쉽게 묘사가능.ex) BigInteger(int, int, Random) -> BigInteger.probablePrime

2. 호출될 때마다 인스턴스를 새로 생성하지않아도 됨.

객체가 자주 요청되는 상황일 때 성능을 크게 끌어올려 준다.

3. 반환 타입의 하위 타입 객체를 반환할 수 있는 능력이 있다.
4. 입력매개변수에 따라 매번 다른 클래스의 객체를 반환할 수 있다.

ex)EnumSet 클래스는 정적팩터리를 제공한다. 원소가 64개 이하면 RegularEnunSet, 원소가 65개 이상이면 JumboEnumSet

5. 정적팩터리메서드를 작성하는 시점에는 반환할 객체의 클래스가 존재하지 않아도 된다.

정적팩터리메서드의 단점.

1.정적 팩터리 메서드만 제공하면 하위 클래스를 만들 수 없다.

상속을 하려면 public이나 protected생성자가 필요하다.
하지만 시선을 달리해보면 상속보다 컴포지션(포함)을 사용하도록 유도하고, 불변타입으로 만드려면 이 제약을 지켜야하기 때문에 오히려 장점일 수 있다.

2.정적팩터리메서드는 프로그래머가 찾기 어렵다.

생성자는 API에 명확히 설명되있지만, 정적팩터리메서드는 그렇지 않다.( p12 명명방식들 참고.)


+ Recent posts