JAVA

JAVA/Effective JAVA

9장 : 일반적인 프로그래밍 방법론

이펙티브 자바 어렵다.............. 실무 코드도 똑바로 봐본적 없는 제가 읽기엔 심오하고,, 추상적이고,, 큰 의미를 갖는 것도 많이 없는 것 같아 발췌독을 해보도록 하겠습니다! 57. 지역변수의 범위를 최소화하자 지역변수의 범위는 선언시점부터 중괄호가 끝날때까지 -> 선언과 동시에 초기화해서 사용하자 Iterator패턴을 사용하는 for문의 경우, 반복문을 도는 동안 블록 안에서만 사용할 수 있는 변수를 만들어 범위를 최소화시킨다는 점에서 좋다 메소드 기능을 작게 분리하고 하나의 메소드는 하나의 기능을 하게 함으로써 변수의 범위와 기능의 비중을 줄이기도 가능 58. 전통적 for문보단 for-each문을 사용하자 for문 안에서 사용할 지역변수를 선언하고 선언; 조건; 업데이트; 식으로 구성..

JAVA/Effective JAVA

5장 : 제네릭

클래스에서 사용하는 타입을 타입 매개변수로 미리 정해둠으로써 런타임 오류를 방지하고 타입 안정성을 확보해주는 제네릭은 오늘날 자바의 컬렉션 프레임워크 사용에 없어서는 안될 중요한 특징입니다! 이에 관해 얘기하는 5장 제네릭을 살펴보겠습니다. 26. raw type은 사용하지 말자 타입 매개변수 T를 사용하는 클래스에서, T를 정의하지 않고 사용하는 것을 raw type을 사용한다고 말하는데(List list = new ArrayList()와 같은 용법), 런타임 오류를 방지하는 제네릭의 장점을 사용하지 못하는 코드 반드시 꺾쇄(혹은 다이아몬드) 안의 타입 매개변수를 명시하고 사용할 수 있도록 하자 제네릭 타입을 쓰고 싶지만, 실제 타입 매개변수를 고려하고 싶지 않을 때 라는 와일드카드 타입 사용 가능 -..

JAVA/Effective JAVA

4장 : 클래스와 인터페이스

객체지향과 관련된 자바 기능들과 주의해야 할 점을 모아놓은 챕터입니다. [오브젝트]를 미리 잃었기 때문에(ㅎㅎ~) 아는 얘기가 대부분이었지만, 이펙티브 자바책 자체에서 정리하는 것과 추가로 알게된 내용이 있어 정리합니다! 15. 클래스와 멤버의 접근 권한을 최소화하라 SRP에 따른 클래스의 목적 이유인 퍼블릭 API를 제외하고는 대부분의 메소드와 필드값(필드값은 상수를 제외하고 전부)들의 접근 권한을 최소화해야한다. 대부분 private으로 두는 것이 상책이다 내부 구현의 구체성을 숨김으로써 API 중심 개발, 단순성 향상, 변화에 유연한 클래스 관계를 달성할 수 있다 public 가변 필드를 가질 경우 thread safe하지 않으며, 사이드 이펙트 때문에 예상치 못한 프로그램 동작이 일어날 수 있다 ..

JAVA/Effective JAVA

3장 : 모든 객체의 공통 메서드

자바랭 패키지의 Object 클래스가 일반적으로 갖고있는 객체 공통 메소드에 대해 설명한 챕터입니다. 10. equals()는 재정의 해야할때만 재정의 VO처럼 값이 불변이며, 논리적 동치성을 확인해야하는 객체에만 equals()를 재정의해야한다 반사성 및 대칭성(equals 호출 순서 교환 가능), 추이성(3단 논법), 일관성, equals()의 인자가 null일때 false를 반환하는 등의 규약을 따르자 equals()를 재정의하는 일반적인 순서 (오버라이드 하는 객체를 Object 타입으로 받았을 경우) == 연산자로 자기자신임을 확인 instanceof 연산자로 클래스 동치성 확인, 같으면 형변환 동등성을 비교하고자하는 각 필드값의 논리적 동치성 검사. 11. equals()를 재정의하려면 has..

김부추
'JAVA' 카테고리의 글 목록