/*내용을 복사 한 후 이클립스에서

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?!

Posted by 옆모습오빠
: