본문 바로가기

IT/Java64

1장 이펙티브 자바 컴포넌트 : 가능학 작으며, 보드는 복사되는 것이 아니라 재사용되야하며, 컴포넌트 사이의 의존성은 최소한으로 유지되야 한다. 자바 타입 : 인터페이스, 클래스, 배열, 기본(primitive)타입 총4가지 애너테이션은 인터페이스의 일종, enum(열거타입)은 클래스의 일종이다. 인터페이스, 클래스, 배열은 참조타입이라하며 이들은 객체 (object)이다. 반면, primitive타입은 그렇지 않다. 클래스의 멤버로는 필드, 메서드, 멤버 클래스, 멤버 인터페이스가 있다. 메서드 시그니처는 메서드 이름과 입력 매개변수의 타입들로 이뤄진다. 반환 값의 타입은 시그니처에 포함되지 않는다. API(Application programming interface) : 프로그래머가 클래스, 인터페이스, 패키지를 통해 .. 2019. 11. 22.
null의 활용 String a = "a"; a = null;을 통해서 a를 가비지 컬렉터에게 메모리를 회수해도 된다는 것을 알려주어 효율적으로 만들어준다. 2019. 7. 29.
Interface 자바에서는 다중상속의 경우 복잡성 때문에 단일 상속만을 지원한다. I를 앞에 붙이거나 able을 뒤에 붙이는 작명방법을 주로 사용한다. 인터페이스에도 변수와 메서드가 올 수 있다. 컴파일시 변수 앞에는 public static이 붙게된다. 인터페이스 안에는 public static final이 붙은 변수만 들어갈 수 있다. void run(); 변수와는 다르게 함수앞에는 컴파일시 abstract이 붙어야만 한다. abstract가 붙었기에 위와같이 함수의 선언부만 존재해야 한다. 자손에서 public abstract메서드를 오버라이드를 통해 구현하도록 강제성을 부여해주는 것. Pencil pencil = ctx.getBean("pencil", Pencil.class); pencil.use(); 위와 같은.. 2019. 7. 24.
Varags(가변인자) Varags : 변수의 타입이 같은 경우, 한개 이상의 변수를 배열처럼 활용할 수 있다. 오버로딩 메서드의 개수가 줄어드는 효과를 갖는다. public class ForeachLotto { public static void print(int...mm){ for(int m: mm){ System.out.printf(m+"\t"); } System.out.println(); } public static void main(String[] args) { int[] mm = {1,6,16,22,23,33}; // for(int m: mm){ // System.out.printf(m+"\t"); // } // System.out.println(); print(mm); int a=1, b=6, c=16; print(.. 2019. 7. 23.