본문 바로가기 메뉴 바로가기

Development Diary

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Development Diary

검색하기 폼
  • 분류 전체보기 (144)
    • Java (74)
      • Effective Java (72)
      • Algorithm (0)
    • Spring (44)
      • Spring MVC (5)
      • Spring Framework (10)
      • Spring Data (9)
      • Spring Batch (0)
      • Spring Security (9)
      • Spring HATEOAS (0)
      • Spring Setting (6)
      • Spring Cloud (3)
      • Spring Template (1)
    • AWS (1)
    • DB (2)
    • Paper (0)
    • CS (2)
    • Project (16)
    • 잡다구리 (5)
  • 방명록

effective java item16 (1)
  • 분류 전체보기 (144)
    • Java (74)
      • Effective Java (72)
      • Algorithm (0)
    • Spring (44)
      • Spring MVC (5)
      • Spring Framework (10)
      • Spring Data (9)
      • Spring Batch (0)
      • Spring Security (9)
      • Spring HATEOAS (0)
      • Spring Setting (6)
      • Spring Cloud (3)
      • Spring Template (1)
    • AWS (1)
    • DB (2)
    • Paper (0)
    • CS (2)
    • Project (16)
    • 잡다구리 (5)
[Item16] 잘 숨겨야 발전한다

객체지향의 달인이 되려면 뭐든 간에 잘 숨겨야 한다, 객체지향을 처음 배울 땐 이 개념에 의문이 들었다 어차피 외부에서 쓰려고 만드는 건데 왜 숨겨야 하는가? 결합도를 낮추고 응집도를 높이기 위해서라는 말로는 이해하기 부족했다 불변 객체가 아니라면 인스턴스 변수들은 final이 아닐 것이고 변경 가능하다 접근 제한자까지 public이라면 어디서든 값을 변경할 수 있다 이는 엄청난 자율성을 주지만 시간이 지나면 참혹한 대가가 따른다 H/W, S/W 성능 향상으로 인해 변하지 않을 코드는 없다 이 정도면 기가 막히구만 하고 짰더라도 다음 버전에서 그 성능을 한참 앞지르는 알고리즘이 나올 수도 있고 절차 지향에서 객체지향으로, 객체지향에서 리액티브로 패러다임이 바뀌어버릴 수도 있다 가장 흔한건 역시 클라이언트..

Java/Effective Java 2022. 2. 22. 20:14
이전 1 다음
이전 다음
링크
  • GitHub 🐼
글 보관함
«   2025/06   »
일 월 화 수 목 금 토
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
Total
Today
Yesterday

Blog is powered by Tistory / Designed by Tistory

티스토리툴바