추상화
1. Abstract Methods 추상 메소드 (Override의 강제성을 주기위해 사용한다)
1) 바디를 정의하지않는 메소드로 상속해 줄 수 있으며 이를 상속 받은 클래스는 반드시 재 정의 해야한다.(Overriding)
public class AbstractDemo { abstract class Bumo{ // abstract 메소드를 가지고있는 클래스 역시 absract로 선언. |
2. Abstract Class 추상 클래스
1) new로 생성할 수 없다. (인스턴스화 할 수 없다, 메모리에 올릴 수 없다)
2) abstract 메소드가 없는 정상적인 Class 역시 Abstract로 선언 할 수 있다.
3. Interface : implements로 상속(구현한다)받는다.
1) public abstract static 을 생략한 클래스라고 생각하면된다.
2) interface속의 변수는 public static final이 생략되어있다. 따라서 모두 초기화를 해야한다.
3) interface의 메소드는 public abstract가 생략되어있다.
4) interface의 하위클래스는 반드시 메소드 재정의 해야한다.
5) extends를 먼저 선언한후 implements를 쓴다.
6) 하위 클래스에서 인터페이스의 메소드를 재정의할 때 반드시 public을 써야한다.
7) Interface Type의 레퍼런스변수는 해당 인터페이스 리소스만 접근가능.
8) Interface Type의 배열을 생성할 수 있는데, 이는 interface자식들의 주소를 받을 수 있는 수첩이다.
9) Interface속에있는 변수는 클래스변수이기 때문에 interface이름으로 접근한다.
4. flag interface : 멤버가 하나도 없는 인터페이스
1) ex : clone() 사용.
- Cloneable : 모든 클래스가 값을 복사 할 수 있는 권한이 없다. 그래서 권환을 확인하는 인터페이스.
public class CloneDemo { |
5. Package
1) class를 묶는 단위. (보통 도메인을 사용하여 com.javasoft.lib.Demo 형식으로 작성한다)
2) cmd 에서 컴파일 할 때 -d 옵션으로 경로를 설정해야한다.
javac–d D:\project\first Employee.java |
3) 클래스 패스 설정 : 변경되지 않는 경로를 가지고있다면 환경변수에서 지정하면된다.
4) jar 파일 만들기. (유닉스의 tar과 같다.)
- 압축 상태의 클래스파일들을 사용할 수 있다.
- jar파일의 경로를 import하여 사용 할 수 있다.
5) eclipse 에서 외부 jar 가져오기.
- 프로젝트 선택 마우스오른쪽 -> build path -> add Archive..
6) 도스와 eclipse 환경에서의 Package 접근이 약간 다르다. (
public class Resume { |
6. Import static
import static java.lang.System.*; public class StaticImportDemo { |
ps-------------------------------------------------------------------------------------
1. absract 와 final은 상극
2. this()와 super()는 상극
3. shallow copy : 주소복사 / deep copy : 값복사
'Programming > JAVA' 카테고리의 다른 글
자바 Exceptions & Assertions (0) | 2011.03.24 |
---|---|
자바 Static, final, Inner class, Enum (1) | 2011.03.24 |
자바 객체지향의 특징3 (다형성,Overriding) (0) | 2011.03.24 |
자바 객체지향의 특징2 (상속화) (1) | 2011.03.24 |
자바 객체지향의 특징 1(캡슐화,생성자,this) (4) | 2011.03.24 |