티스토리 뷰
![]() |
|
Cloneable 인터페이스는 protected 으로 선언된 object의 clone메서드가 어떻게 동작할지 정한다.
만일 어떤 클래스가 Cloneable을 구현하면, Object의 clone 메서드는 해당 객체를 필드 단위로 복사한 객체를 반환한다.
Clone 메서드의 일반 규약
1. x.clone() != x
2. x.clone().getClass() == x.getClass()
3. x.clone().equals(x)
1번은 항상 참이여야 하지만 2, 3번은 꼭 그래야만 하는건 아니다.
또한, 객체를 복사하면 보통 같은 클래스의 새로운 객체가 만들어지는데, 내부 자료 구조 까지 복사해야 될 수도 있다. 어떤 생성자도 호출되지 않는다.
Cloneable 은 다음에 다시 보도록 하자.
'JAVA > Effective Java' 카테고리의 다른 글
규칙13 클래스와 멤버의 접근 권한은 최소화 해라 (0) | 2018.12.19 |
---|---|
규칙12 Comparable 구현을 고려하라 (0) | 2018.12.19 |
규칙10 toString은 항상 재정의하라 (0) | 2018.12.19 |
규칙9 equals를 재정의할 때는 반드시 hashCode도 재정의해라 (0) | 2018.12.19 |
규칙8 equals를 재정의할 때는 일반 규약을 따르라 (0) | 2018.12.19 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- notifyAll()
- referencedColumnName
- AbstractMethodError
- RoutePredication
- reactor
- aurora
- getBoolean
- HashMap
- router
- Flux
- Lazy
- MariaDB
- N+1
- dynamodb
- GlobalFilter
- RouteDefinition
- mariada-connector
- mariadb-connector-j
- ConcurrentHashMap
- Seperate Chaining
- circurit breaker
- ResultSet
- spring cloud gateway
- reative
- DyanomoDB
- msyql-connector-java
- notify()
- rate limit
- wait()
- custom config data convertion
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함