Skip to content

Commit

Permalink
Fix typos
Browse files Browse the repository at this point in the history
  • Loading branch information
songeunwoo committed Mar 21, 2019
1 parent 9aee033 commit 80db7fe
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions effective-java/item3.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

**싱글톤을 사용하는 클라이언트 코드를 테스트 하는게 어렵다.** 싱글톤이 인터페이스를 구현한게 아니라면 mock으로 교체하는게 어렵기 때문이다.

싱글톤으로 만드는 두가지 방법이 있는데, 두 방법 모두 생성자를 priate으로 만들고 publis static 멤버를 사용해서 유일한 인스턴스를 제공한다.
싱글톤으로 만드는 두가지 방법이 있는데, 두 방법 모두 생성자를 private 으로 만들고 publis static 멤버를 사용해서 유일한 인스턴스를 제공한다.

## final 필드

Expand Down Expand Up @@ -56,7 +56,7 @@ static 팩토리 메소드를 `Supplier<Elvis>`에 대한 `메소드 레퍼런

## 직렬화 (Serialization)

위에서 살펴본 두 방법 모두, 직렬화에 사용한다면 역질렬화 할 때 같은 타입의 인스턴스가 여러개 생길 수 있다. 그 문제를 해결하려면 모든 인스턴스 필드에 `transient`를 추가 (직렬화 하지 않겠다는 뜻) 하고 `readResolve` 메소드를 다음과 같이 구현하면 된다. (객체 직렬화 API의 비밀 참고)
위에서 살펴본 두 방법 모두, 직렬화에 사용한다면 역직렬화 할 때 같은 타입의 인스턴스가 여러개 생길 수 있다. 그 문제를 해결하려면 모든 인스턴스 필드에 `transient`를 추가 (직렬화 하지 않겠다는 뜻) 하고 `readResolve` 메소드를 다음과 같이 구현하면 된다. (객체 직렬화 API의 비밀 참고)

```java
private Object readResolve() {
Expand Down

0 comments on commit 80db7fe

Please sign in to comment.