Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

기록 저장소

[Java #11] field, constructor 본문

kitri 노트/java

[Java #11] field, constructor

resault 2019. 3. 21. 18:54

field

- 전역변수는 속성이다!
- 전역변수(필드)는 reference 데이터 타입은 null, 숫자형은 0으로 초기화 됨

this    : 자기클래스 참조변수 (생략가능)
   super   : 상위클래스 참조변수
- 전역변수와 지역변수의 이름이 같은 경우, 가까이 있는 것을 취함


public Car(String color) {
        carName = "쏘나타";
        //전역변수와 지역변수의 이름이 같은경우!


        //1.
        //color = color;    //전역변장와 장염변수의 아름이 같은 경우에 가까운 것을 취하기에, null값이 되어버림
        
        /*2.
        Car car = new Car(); //새로운 객체를 또 생성한거임.
        car.color = color;
        System.out.println(car.color);
        */
        
        color = color;
        maker = "현대";

- 자기 클래스의 전역변수를 참조할 때, 객체명을 생략하면 자동으로 this.이 적용됨


* 생성자(Constructor)
1. 객체 생성시 최초로 호출. 단, new 연산자와 함께 호출
- 생성자는 단독으로 호출할 수 없음. new가 있어야 함
    (객체가 여러개인 경우 생성자도 여러개임!)
2. 객체 생성시 객체의 초기화 작업
3. 사용자 정의 생성자가 없을 경우 default 생성자가 생략되어 있음
    * default 생성자 : public ClassName() {}    class를 메모리에 올려주는 역할만 함
    사용자 정의 생성자를 하나 이상만들 경우 defaul 생성자는 사라짐
4. Class의 이름과 같은 method의 일종. Return Type이 없음    (void와 return type이 없는 것은 다름!)
형식)
접근제어자 ClassName( [args] ){

}
5. method overloading(method의 다중정의) : 같은 이름의 method를 여러개 정의 하는 것.
    - 단, 인자값의 '개수||타입'이 달라야 함
ex)
public void a() {}
public void a() {}                  //X
public void a(int x) {}             //O
public void a(int y) {}             //X
private int a() {}                  //X
public void a(int x, Sring s) {}    //O
public void a(int x, int y) {}      //O
public void a(Strin s, int y) {}    //O
6. 

   this()  : 자기클래스 생성자 호출
   super() : 상위클래스 생성자 호출

- this() 는 생성자의 첫번째 줄에 있어야 함
    ∴ 하나의 생성자 안에서 생성자 호출은 1번만 가능!


'kitri 노트 > java' 카테고리의 다른 글

[Java #13] inheritance  (0) 2019.03.25
[Java #12] method  (0) 2019.03.22
[Java #10] Class  (0) 2019.03.21
[Java #9] break, continue, return  (0) 2019.03.19
[Java #8] 반복문_while  (0) 2019.03.18