Framework의 이해 프레임워크는 여러 분야에서 사이한 개념으로 사용되기 때문에 이에 대한 정확한 의미 파악은 쉽지 않다. 하지만 공통적으로 "잘 정의된 구조 또는 골격" 이라는 의미를 가진다. 따라서 자바에서 말하는 프레임워크는 "잘 정의된 구조의 클래스들" 이라 볼 수 있다. 즉 프레임워크는 프로그래머들이 쓸 수 있도록 잘 정의된 클래스들의 모임이라 할 수 있는데, 이는 '라이브러리'라 불리게 된다. 하지만 '컬렉션 라이브러리'가 아닌 '컬렉션 프레임워크'라 한다. 그 이유는 관련된 클래스의 정의에 적용되는 설계 원칙 또는 구조가 존재하기 때문이다. Collection Framework 데이터의 저장 방법, 그리고 이와 관련 있는 알고리즘에 대한 프레임워크이다. 자료구조, 알고리즘, 제네릭 기반의..
인터페이스 원리 인터페이스의 기본 골격은 클래스와 동일하다. 대신 class 대신 interface라 선언 되어있고, 메소드는 몸체없이 마무리된다. interface interF{ public void print(String dog); } 메소드의 몸체가 비어있는 메소드를 가리켜 추상 메소드(Abstract Methods)라 하며 인스턴스 대상으로는 인스턴스 생성이 불가능하다. 다만 클래스에 implements 키워드가 사용되어 상속이 아닌 '구현'의 대상이 된다. 구현할 인터페이스를 명시할 떄는 implements를 사용 한 클래스는 둘 이상의 인터페이스를 구현 가능 상속과 구현은 동시에 가능 두 인터페이스를 선언 package interFaces; public interface Printer{ pub..
상속 코드로 한번에 보기 package 상속; public class Man { String name; public void sayName(){ System.out.println(name); } public int add(int a, int b){ return a+b; } } class BusinessMan extends Man{ //super 키워드는 부모의 객체를 찾는다. public String getParentsName(){ return super.name; } // Man을 상속받아서 sayName을 호출 public void say2(){ sayName(); } @Override // Override = 재정의 public void sayName() { System.out.println("재정..
접근 수준 지시자는 이름 그대로 접근의 허용 수준을 결정할 때 선언하는 키워드이다. 네 가지 접근 수준 지시자 public protected private default 이러한 선언을 할 수 있는 종류는 두 가지 이다. 클래스 클래스의 인스턴스 변수와 메소드 클래스 정의 대상 - public, defalut 인스턴스 변수와 메소드 대상 - public, protected, private, default 클래스의 선언 public class A{} class B{} (public) 클래스 A는 어디서든 인스턴스 생성이 가능하다. (defalut) 클래스 B는 동일 패키지로 묶인 클래스 내에서만 인스턴스 생성을 허용한다. animal 패키지에 있는 Dog 클래스는 defalut로 선언 되었으므로 다른 패키지..