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 #10] Class 본문

kitri 노트/java

[Java #10] Class

resault 2019. 3. 21. 18:54

[ class ]

1. 기본 개념

** 객체(Object)
- class : class는 객체를 생성하기 위한 틀
- 객체 : 메모리에 class가 올라와 있는 상태

ex)     Object(class) : 자동차(Car)

      속성(field)          기능(method)
   ---------------------------------------
    차이름(carName)        가속(speedUp)
    색상(color)            감속(speedDown)
    제조사(maker)          정지(stop)
    속도(speed)

public class Car {
    String carName;
    String color;
    String maker;
    int speed;

    public void speedUp() {
        speed += 10;
    }

    public void speedDown() {
        speed -= 10;
    }

    public void stop() {
        speed = 0;
    }
}


- 속성(field) → (전역)변수


[ class ]


1. 형식

접근제어자 class ClassName {
    
    속성

    -----------------------------------------------------------

    method

}


- class의 접근제어자는 public || default    (private, protected는 올 수 없음)
    but, class의 전역변수를 불러오는 것은 좋은 방법은 아니기에, 보통 private로 지정함



* 전역변수 : class에서 선언하는 변수, 초기화 하지 않아도 자동으로 초기화 됨
    - 초기화 값 - 참조자료형: null, 숫자: 0, char: \u0000(빈 공백), boolean: false
* 지역변수 : method 혹은 if문 등 안에서 만드는 변수(해당 블록 안에서만 사용가능), 사용 전에 초기화를 해야함
    - 접근제어자는 전역변수에만 쓸 수 있음!





2. class의 사용 (참조형(reference) Data Type)

1) 선언

- class를 선언하면 JVM에 할당될 준비가 됨


(1)형식
접근제어자 ClassName 객체명;

ex)
public String carName;
private Car car;
GBB gbb;

- class이름은 객체명이 될 수 있음


2) 생성 : memory에 할당    []이게 JVM에 할당된다는 의미인가?

(1)형식

객체명 = new ClassName();
> 객체명 : new ClassName의 memory 주소값이 할당됨

ex)
carName = new String("쏘나타");
car = new Car();
gbb = new GBB();0

▷ 선언&생성

접근제어자 ClassName 객체명 = new ClassName();

ex)
public String carName = new String("쏘나타");
private Car car = new Car();
GBB gbb = new GBB();


3) 사용

(1)형식

객체명.변수; //get
객체명.변수 = 값; //set
객체명.method();

ex)
int len = carName.length();
car.speed = 100;
System.out.println(car.speed); //100
gbb.game();

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

[Java #12] method  (0) 2019.03.22
[Java #11] field, constructor  (0) 2019.03.21
[Java #9] break, continue, return  (0) 2019.03.19
[Java #8] 반복문_while  (0) 2019.03.18
[Java #7] 반복문_for  (0) 2019.03.18