제어자,static,final
::::특별한 Java Story 2013. 6. 8. 23:40 |/*내용을 복사 한 후 이클립스에서
ctrl + shift + F를 눌러주세요!!*/
//P.254 제어자,static,final
//제어자는 객체 지향형 초반에 배울때 열심히 했으니 Pass~~
//static 과 final 은 카드에 관한 예문을 통하여 콕콕! 찝어보자!
package JavaTest;
class Card6{ //시작합니다.~~Card 클래스 하도 만들어서 Card6 로 하나 만들었습니다.Sorry~~
final int number; //시작하자 나오네요..이좌식! number 라는 인스턴스 변수를 만들었는데..앞에
final String kind; //final 이 붙었네요! 이놈의 특징은 : 변경될수 없는, 변수앞에 쓰이면 상수로 만드는 재주가 있음!ㅋ
// 결론은 number 변수는 상수가 되었네요..긍데... number 에 대한 초기값이 없네요...
// 아직 이 두친구는 값이 없는 왕따입니다. 밑에 어떤일이 일어나는지 보겠습니다.
static int width = 100; //static 은 여기서 나오네요~ '이것도 앞에서 했었는데..ㅋㅋ' static 은 인스턴스는 필요없이
static int height = 200; // 항상 같은 값을 갖는다..ㅋ 정도로만 알고있자! 아~ 그리고 책에보니.. 인스턴스 변수를 사용하지
// 않는 메서드는 되도록이면 static 을 붙이는것을 추천하네..OK! 앞으로 그렇게 하지머~ㅋ
//잠깐 짚고 넘어갈께 있는데..number, kind 두 왕따 변수가 초기값이 없을때는 초기화를 시킬수 있다고 하더군요~
//책 내용대로라면~ 생성자를 이용하여 매개변수로부터 제공받으면 된다고 한다..(-_-)a ㅋㅋ 그래~ 나도 이해안돼! 직접 써보자!
Card6(int number, String kind){ //이거야!! 이게 final 변수 초기화~~ 앗! 근데 어디서 많이 봤던거 같아!
// 어이없네..그려.. 이거 생성자 할때~~
this.number = number; // 자기 자신의 변수값을 나타낼때 this 썼던거 그거네..ㅋㅋ 이게 또 여기서
this.kind = kind; // 나타날줄이야..ㅋㅋ 암튼 ~ 기억해~~!
}
//초기화도 했겠다~ 한번 써먹어보자!
Card6(){ //매개변수 없는 생성자 만들었어~~ 바로 위 두개짜리 복사해서 써볼께!^^
this(5,"heart"); //두개짜리 매개변수를 복사해서 초기값을 5와 heart 로 주었습니다.! 이게 인쟈 초기값임!
}
static int table(){ //아 이건 그냥 static 할때 인스턴스 변수 안쓰는 메서드는 static 붙이는것을 추천했자나~
//그래서 한번 붙여서 적어봤어...심심해서..ㅋ
return width+height;
}
}
// 요기까지 클래스를 통하여 간단한 변수들을 만들었습니다.^
public class FinalCardTest {
public static void main(String[] args) {
Card6 c = new Card6(); //카드 클래스 인스턴스화 시켰엉!
System.out.println(c.number+","+c.kind); //오~ 잘나와~~
System.out.println(c.width+","+c.height); //static 도 출력해보았엉!! static 까먹진 않았겠지?!
//인스턴스 필요없이 쓸수있고, 항상 같은값을 가진다.ㅋ
}
}
//쓰임새 정도는 쫌 잘 기억하자! 특히 static 은 습관을 들이고, final 은 종종 나오니 의미랑 초기화 시켜서 써먹는 정도 OK?!
'::::특별한 Java Story' 카테고리의 다른 글
toString 메서드, toString() (0) | 2013.06.09 |
---|---|
접근 제어자(Access modifier) / 캡슐화(encapsulation) (0) | 2013.06.09 |
Super,Super() 조상클래스 생성자 만들기 (0) | 2013.06.07 |
오버라이딩(Overriding) (0) | 2013.06.06 |
단일상속(single inheritance) (0) | 2013.06.06 |