Java/Effective Java4 [이펙티브 자바 item24] 멤버 클래스는 되도록 static으로 만들어라 각각의 중첩클래스에는 무엇이 있고 언제 그리고 왜 사용해야 하는지 이야기를 해보자. 아래 그림과 같이 중첩클래스는 4가지로 구분 할 수 있다. 중첩클래스 종류 코드를 통해 각각의 중첩클래스의 특징을 알아보자 1. 내부 클래스(Inner class) - 외부클래스는 내부클래스를 멤버변수처럼 사용할 수 있다. - 내부클래스는 외부클래스의 자원을 직접 사용할 수 있다. package effectiveJava.item24; //내부 클래스 inner class public class Outer{ int aFiled; void aMethod(){ System.out.println( aFiled + " - aMethod()"); } public class Inner{ void innerMethod(){ aFiled.. 2021. 2. 18. [이펙티브 자바 item23] 태그 달린 클래스보다는 클래스 계층구조를 사용해라 태그 클래스 public class Figure { enum Shape {RECTANGLE , CIRCLE}; //태그 필드 - 현재 모양을 나타냄 final Shape shape; //다음은 RECTANGLE 일경우 사용 double length; double width; //다음은 CIRCLE 일경우 사용 double radius; //RECTANGLE 생성자 Figure(double redius){ shape = Shape.RECTANGLE; this.radius = redius; } //CIRCLE 생성자 Figure(double length , double width){ shape = Shape.CIRCLE; this.length = length; this.width = width; } doub.. 2021. 2. 17. [이펙티브 자바] - 객체의 생성과 파괴 블로그의 내용은 '이펙티브 자바'를 참고하였습니다. 책의 내용정리와 저의 생각을 포스팅 합니다. 이번 장은 객체의 생성과 파괴를 다룬다. 객체를 만들어야 할 때와 만들지 말아야 할 때를 구분하는법 올바른 객체 생성 방법과 불필요한 생성을 피하는 방법 제때 파괴됨을 보장하고 파괴 전에 수행해야 할 정리 작업을 관리하는 요령 아이템 1. 생성자 대신 정적 팩터리 메서드를 고려하라 아이템 2. 생성자에 매개변수가 많다면 빌더를 고려하라. 아이템 3. private 생성자나 열거 타입으로 싱글턴임을 보장하라. 아이템 4. 인스턴스화를 막으려거든 private 생성자를 사용하라. 아이템 5. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라. 아이템 6. 불필요한 객체 생성을 피하라. 아이템 7. 다 쓴 객체.. 2020. 12. 31. [이펙티브 자바] - 일반적인 프로그래밍 원칙 블로그의 내용은 '이펙티브 자바'를 참고하였습니다. 책의 내용정리와 저의 생각을 포스팅 합니다. 아이템 57. 지역변수의 범위를 최소화하라 아이템 58. 전통적인 for문 보다는 for-each 문을 사용해라 아이템 59. 라이브러리를 익히고 사용하라. 아이템 60. 정확한 답이 필요하다면 float와 double은 피하라. 아이템 61. 박싱된 기본 타입보다는 기본 타입을 사용해라. 아이템 62. 다른 타입이 적절하다면 문자열 사용을 피하라. 아이템 63. 문자열 연결은 느리니 주의하라 아이템 64. 객체는 인터페이스를 사용해 참조하라 아이템 65. 리플렉션보다는 인터페이스를 사용하라 아이템 66. 네이티브 메서드는 신중히 사용하라. 아이템 67. 최적화는 신중히 하라. 아이템 68. 일반적으로 통용되.. 2020. 12. 21. 이전 1 다음