독서

    이펙티브 자바 - 4장. 클래스와 인터페이스

    4장 - 클래스와 인터페이스 💡 클래스와 멤버의 접근 권한을 최소화하라 “접근 권한을 가능한 한 좁히자” 1. 정보 은닉(캡슐화) 어설프게 설계된 컴포넌트와 잘 설계된 컴포넌트의 가장 큰 차이는 바로 “클래스 내부 데이터와 내부 구현 정보를 외부 컴포넌트로부터 얼마나 잘 숨겼느냐”다. 잘 설계된 컴포넌트는 모든 내부 구현을 완벽히 숨기며 오직 API를 통해서 다른 컴포넌트와 소통함. → 정보은닉(캡슐화) 정보 은닉의 장점 컴포넌트를 병렬로 개발할 수 있음 → 시스템 개발 속도↑ 컴포넌트 교체 부담↓ → 시스템 관리 비용↓ 외부에 거의 의존하지 않고 독자적으로 동작할 수 있는 컴포넌트 → 소프트웨어 재사용성↑ 시스템 전체가 완성되지 않았어도 개별 컴포넌트 동작 검증 가능 → 시스템 제작 난이도↓ 자바에서 ..

    이펙티브 자바 - 3장. 모든 객체의 공통 메서드

    3장 - 모든 객체의 공통 메서드 💡 equals는 일반 규약을 지켜 재정의하라 “꼭 필요한 경우가 아니면 equals를 재정의하지 말자” 1. 재정의를 최대한 피하자 equals 메서드는 재정의하기 쉬워 보이지만 곳곳에 함정이 도사리고 있음 문제를 회피하는 가장 쉬운 길은 아예 재정의하지 않는 것 많은 경우에 Object의 equals가 비교적 정확히 수행해 줌 2. equals 재정의가 필요한 상황 객체 식별성이 아니라 논리적 동치성을 확인해야 하는데, 상위 클래스의 equals가 논리적 동치성을 비교하도록 재정의되지 않았을 때. 객체 식별성 : 두 객체가 물리적으로 같은가(주소), == 연산자로 확인 논리적 동치성 : 값이 같은가?, equals 메서드로 확인 주로 Integer, String처럼 ..

    이펙티브 자바 - 2장. 객체 생성과 파괴

    2장 - 객체 생성과 파괴 💡 생성자 대신 정적 팩터리 메서드를 고려하라 “정적 팩터리를 사용하는 게 유리한 경우가 더 많으므로, 무작정 public 생성자를 제공하던 습관이 있다면 고치자” 1. 정적 팩터리 메서드 그 클래스의 인스턴스를 반환하는 단순한 정적 메서드 ex) Boolean.valueOf 메서드 public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } 2. 정적 팩터리 메서드의 장점 5가지 a) 이름을 가질 수 있다. 생성자 BigInteger(int, int, Random)과 정적 팩터리 메서드 BigInteger.probablePrime 중 어느 쪽이 ‘값이 소수인 BigInteger를 반환..

    세이노의 가르침 - 돈의 성질과 돈에 대한 마음가짐

    💡 돈에 대한 위선을 버려라 1. 돈에 대한 태도 돈에 대하여 말하는 것을 상스럽고 천하게 여기는 태도는 우리 사회 어디서나 나타남 "황금을 보기를 돌같이 하라", "나물먹고 물마시고 팔 베게를 베면 행복한 것"이라는 안빈낙도 교육 수 많은 사람들이 돈을 벌고자 일을 하면서도 그 사실을 말하는 것은 꺼려하며 어떻게 해서든지 미화시키려고 함. 월스트리트 금융기관들에서 신입사원 면접을 볼 때 지원사유를 성취감을 느끼기 위해서라고 답하면 모조리 불합격이다. 돈을 벌고 싶어서라고 말하는 사람만 합격된다. 부자가 되려면 돈에 대한 가식을 버리고 프로가 되라. 돈에 대해 이제는 좀 솔직해질 필요가 있다! 💡 돈과 먼저 친해져라 1. 돈을 운영할 수 있는 지식 금융지식이나 투자지식 != 돈을 운영할 수 있는 지식 재..

    세이노의 가르침 - 일은 어떤 일을, 어떻게, 어떤 사고방식으로 해야 하는가

    💡 무슨 일이든지 더 잘하는 방법이 있다 1. 당신은 일을 잘하고 있나? 기억해라. 당신이 최선이라고 생각하는 방법이 실은 어리석음의 총체적 집합일 수도 있다는 것을. 책을 많이 읽어야하는 이유는 자기 자신이 제대로 일을 효과적으로 처리하는 것인지, 자기 도취에 빠진 것은 아닌지, 제대로 살아가고 있는 것인지 등의 불안에 대한 확인을 받기 위함이다. 2. 일을 좀 더 잘하려면 어떻게 하여야 하는가? 어떤 일을 반복적으로 하고 있다면 반드시 개선점을 찾아내라. 같은 일이 계속 반복되면 "더 효과적인 방법은 없는 것일까?"를 생각하고 더 좋은 방법을 찾아 개선하고자 노력하자 행동하기 전에 그 일에 필요한 지식을 반드시 흡수하여라. 전혀 모르는 분야라면 밤을 새워서라도 인터넷을 샅샅이 뒤져 관련 지식을 공부하..

    세이노의 가르침 - 내 삶이 힘들고 절망에 빠졌을 때

    💡 삶이 그대를 속이면 분노하라 1. 삶에 끌려 다니는 사람 만일 당신이 말초신경이나 자극하는 것들에 현혹되어 채팅, 게임, 공짜 사이트, 복권, 유명 브랜드 상품, TV, 술, 도박, 경마 등 일확천금과 한탕주의의 망상에만 몽롱하게 사로잡혀 있다면 당신은 그렇게 제자리를 맴도는 사람임 2. 삶의 태도 인생역전은 당신 스스로 현재의 삶에 분노하여 그 삶을 뒤집어 버릴 때 이루어지는 것 "수백억원짜리 복권에 이번에는 내가 당첨될 지도 모른다"는 달콤한 상상으로 이루어지는 것이 아님 💡 천재 앞에서 주눅들지 말라 1. 부자가 되는 것 부자가 되는 것은 다른 보통 사람들과의 게임일 뿐 당신이 보통 사람이라면 교수나 의사 등과 경쟁할 까닭은 없지 않은가 “새벽에 일어나서 운동도 하고 공부도 하고 사람들도 사귀면..