TODAY : / TOTAL :

[Java] 래퍼런스 타입

  • Share this:
반응형
instanceof 연산자
 - 캐스팅 가능여부를 확인
Ex )
 if(Obj1 instanceof 권총)
    발사하다(권총);
else
   발사하다(미사일); . . ..

열거 타입
enum Alphabet {a,b,c,d....}
- C언어 방식과 동일
- Alphabet se = Alphabet.a;   :: se 에 a 가 들어감. se에는 하나의 Alphabet 자료가 들어감.

values 메소드 / valueOf 메소드
 -  values :: 열거 타입에 대해 해당 메소드를 호출하면 열서 상수들 모두가 배열에 담겨져서 리턴 됨.
Ex) enum Day { MONDAY, TUESDAY. . . . . SUNDAY }
     Day.values();  => MONDAY, TUESDAY. . . . . SUNDAY

- valueOf  :: 열거 상수이름을 문자열로 넘겨주면 그에 해당하는 열거 상수를 리턴함.

-------------------------------------------------------------------------------------------------------------
패키지

import 무기.공군.* ;  => 공군 클래스에 있는 모든 데이터를 가져옴.
무기.공군.F-16     A   =  new    무기.공군.F-16;

=>

package 권총 ; -> '권총' 이라는 폴더를 만들어서 해당 클래스를 넣음.
컴파일 시 : javac -d . Example.java
-d :: 디렉토리 생성.

Ex)
package A.B.C
class Example...

javac -d . Example.java

하위 폴더로 A \ B \ C 형식으로 생성. 
사용시에는 마찬가지    A.B.C Circle     형식으로 해야 함. 


위에서 설명한 import 를 응용해서 사용하면

-------------------------------------
import A.B.C
import A.B.C.D

C obj = new C;
D obj = new D;  //위의  무기.공군.F-16 처럼 하위데이터를 다 적어줄 필요가 없다.
-------------------------------------


접근 제어
private :: 자신 안에서만 사용가능. (자기 몸체 내에서만...)
X (선언된게 없을 경우)  :: 폴더 안의 데이터만 접근
protected :: 패키지 내에선 자유롭게 사용가능. 타 패키지에선 상속받은 자식 클래스만 사용 가능.
public :: 모든 곳에서 사용할수 있음.(다른 폴더에서도 사용 가능)







반응형

SEARCH

태그로 찾아보기