19.04.06 Class(필드, 생성자 오버로딩)

Back-End/Java 2019. 4. 6. 18:42
728x90
반응형

-Field-

필드는 객체의 고유데이터, 상태 정보를 저장하는 곳.

필드는 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재한다.

 

-예제 및 출력결과-

 

1
2
3
4
5
6
7
8
9
10
11
package chap4_field;
 
public class Car {
    // 필드 생성 (멤버변수)
    String company = "현대자동차";
    String model = "그랜저";
    String color = "검정";
    int maxSpeed = 350;
    int speed;
    
}
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package chap4_field;
 
public class CarExample {
 
    public static void main(String[] args) {
        
        Car myCar = new Car(); //new 키워드를 사용해서 car객체를 만들고 변수 mycar가 참조하게 한다
        
        //필드값 읽기
        System.out.println("제작회사: "+myCar.company);
        System.out.println("모델명: "+myCar.model);
        System.out.println("색깔: "+myCar.color);
        System.out.println("최고속도: "+myCar.maxSpeed);
        System.out.println("현재속도: "+myCar.speed);
        
        //필드값 변경
        myCar.speed = 60;
        System.out.println("수정된 속도: "+myCar.speed);
    }
}
 
cs

 

 

-출처-

https://programmers.co.kr/learn/courses/5/lessons/140

 

 

 

-생성자-

생성자의 역할은 객체 생성 시 초기화를 담당.

클래스 이름으로 되어 있고 리턴 타입이 없다.

 

 

-생성자 오버로딩-

매개 변수를 달리하는 생성자를 여러개 선언하는 것.

 

-예제 및 출력결과-

 

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
32
33
34
package chap4_field;
 
public class CarOverloading {
    //필드선언
    String company = "현대자동차";
    String model;
    String color;
    int maxSpeed;
 
    //기본 생성자
    CarOverloading()
    {
        
    }
    
    CarOverloading(String model)
    {
        this.model = model; //this를 써서 필드이름과 변수를 구분해 준다. 
    }
    
    CarOverloading(String model, String color)
    {
        this.model = model;
        this.color = color;
    }
 
    CarOverloading(String model, String color, int maxSpeed)
    {
        this.model = model;
        this.color = color;
        this.maxSpeed = maxSpeed;
    }
}
 
cs

 

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
package chap4_field;
 
public class CarExampleOverloading {
 
    public static void main(String[] args) {
        CarOverloading car1 = new CarOverloading(); //company 필드에 현대자동차라는 값이 있기 때문에 그 값을 참조해서 출력한다.
        System.out.println("car1.company: " +car1.company);
        System.out.println();
        
        CarOverloading car2 = new CarOverloading("자가용");
        System.out.println("car2.company: " +car2.company);
        System.out.println("car2.model: " +car2.model);
        System.out.println();
        
        CarOverloading car3 = new CarOverloading("자가용","빨강");
        System.out.println("car3.company: " +car3.company);
        System.out.println("car3.model: " +car3.model);
        System.out.println("car3.color: " +car3.color);
        System.out.println();
        
        CarOverloading car4 = new CarOverloading("택시","검정",200);
        System.out.println("car4.company: " +car4.company);
        System.out.println("car4.model: " +car4.model);
        System.out.println("car4.color: " +car4.color);
        System.out.println("car4.maxSpeed: " +car4.maxSpeed);
    }
}
 
 
cs

 

 

-출처-

https://programmers.co.kr/learn/courses/5/lessons/171

728x90
반응형

'Back-End > Java' 카테고리의 다른 글

19.04.09 상속, final  (0) 2019.04.09
19.04.08 어노테이션,Getter / Setter 메소드  (0) 2019.04.08
19.04.05 다차원 배열, 향상된 for문  (0) 2019.04.05
19.04.04 random, Scanner  (0) 2019.04.04
19.04.03 예외처리, Integer, eqals()  (0) 2019.04.03
: