1. Static Methods의 목적
1) 생성자 없이 사용 할 수 있다.
public class StaticDemo { |
Static 변수인 num만 증가하고 su는 따로 객체를 만들기 때문에 5개의 1이 생긴다. |
2. Static Initializers (스태틱변수 초기화)
1) 스테틱 메모리 접근.
public class StaticDemo1 { |
2) 맴버변수는 생성자가 초기화 / 스태틱변수는 스태틱 블록이 초기화 한다.
public class StaticDemo2 { |
가장 먼저 스태틱 초기화블록이 실행되고 메인이 실행된다. 스태틱 초기화블록은 최초 한번 실행되고 |
3. Final
1) Final 상수 역시 생성자에서 초기화 할 수 있다.
2) Final Methods
4. Deprecation
1) java가 버전업 되면서 수정되거나 업데이트 된 클래스나 메소드를 호출 할 때 표시된다.
2) ex : Date => Calander
5. Inner Classes
1) Nested Class (Static class, 중첩클래스)
- why : static class 를 사용해 패키징화 하기 위해 사용한다. (new 로 생성 할 필요없이 접근 가능)
- 생성방법 : Outer.Inner in = new Outer.Inner();
- 제한사항 : Outer의 member변수, member 메소드는 사용할 수 없다. (생성한 후 사용 가능)
|
2) Member Class
- why : 다중 상속을 하기위해 사용한다.
- 생성방법 : Outer.Inner in = 바깥주소.new Inner();
- 제한사항 : Inner는 static 변수, static 메소드를 가질 수 없다.
public class MemberClassDemo { |
3) Local Class
- why :
- 생성방법 :
- 제한사항 : 메소드 속에서는 절차적이기 때문에 순서가있다. / public, private,protected 접근자 사용불가 / static 사용 불가 / 로컬클래스가 속해있는 메소드의 지역변수를 사용할 수 없다( 지역 상수는 사용 가능하다)
public class LocalClassDemo { |
4) Anonymous Class
- why : 상속 관계가 아니어도 Overriding 할 수 있다.
- 생성방법 :
- 제한사항 :
public class AnonymousClassDemo { |
6. Enum
1) 고정된 갯수의 나열을 갖는 데이터를 갖는다.
2) 데이터 형이 없다.
3) 선언될 상수가 가장 윗줄에 작성되어야 한다.
4) 생성자는 public을 사용 할 수 없다.
public class EnumDemo { |
public enum Subjects { JAVA(1), JDBC(10), JSP(100), Android(1000), Project(10000); Subjects(int v){ //생성자는 public 사용 안됨. this.v = v; } private final int v; public int get(){ return this.v; } } |
'Programming > JAVA' 카테고리의 다른 글
Class Library Java lang Package (1) | 2011.03.24 |
---|---|
자바 Exceptions & Assertions (0) | 2011.03.24 |
자바 객체지향의 특징4 (Abstract, Interface, Package) (0) | 2011.03.24 |
자바 객체지향의 특징3 (다형성,Overriding) (0) | 2011.03.24 |
자바 객체지향의 특징2 (상속화) (1) | 2011.03.24 |