━━━━ ◇ ━━━━
Java/Java 공부

클래스

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
package Class;
 
class Car{ //클래스 명은 일반적으로 대문자로 시작한다.
  //멤버변수
  String color;
  int speed;
  int gear;
  
  //멤버메소드
  void print(){
    System.out.println("( "+color+", "+speed+", "+gear+" )");
  }
}
public class CarTest {
 
  public static void main(String[] args) {
    Car myCar = new Car(); // 객체 생성
    myCar.color = "red";
    myCar.speed = 0;
    myCar.gear = 1;
    
    myCar.print();
  }
 
}
 

cs


클래스란 특정한 종류의 객체들을 찍어내는 형틀(template) 또는 청사진(blueprint)이라 할 수 있다.

클래스로부터 만들어지는 각각의 객체를 그 클래스의 인스턴스(instance)라고 한다.


위의 소스코드를 보면 Car 라는 이름을 가진 클래스가 만들어져있다. (3번줄에서 13번줄까지)

Car클래스는 color, speed, gear라는 변수(속성)와 print() 라는 메소드(동작)를 가지고 있다.

즉, Car클래스로 만들어낸 객체는 color, speed, gear라는 변수와 print()라는 메소드를 가지고 만들어진다.


14번줄에서 25번 줄까지의 소스는 Car 클래스를 실험하기 위한 공간이다.

16번줄을 main메소드라고 부르는데, 이 메소드에서 프로그램이 실행된다.


17번줄의 new 연산자를 사용하여 Car클래스로 myCar라는 이름을 가진 객체를 만들었다.

객체를 만든다는 것은 메모리에 관련된 정보들을 저장할 공간을 할당했다는 뜻이다.

도트연산자(.)를 사용하여서 18번줄에서 20번줄까지 myCar의 속성(변수)들에게 값을 할당하였다.

이렇게 할당된 값들은 좀전에 생성한 메모리공간에 저장될 것이다.


Car클래스가 가진 print()메소드를 myCar객체에서 호출하였더니(22번줄)

10번줄에서 12번줄 사이에 정의되어 있던 print()메소드의 로직이 그대로 동작하여 아래와 같은 결과를 도출한다.



18~20번줄에서 저장된 값들이 호출된것을 확인 할 수 있다.


1
2
3
4
5
6
    Car yourCar = new Car();
    yourCar.color = "blue";
    yourCar.speed = 60;
    yourCar.gear = 3;
    
    yourCar.print();
cs

 

 

 


main메소드 안에  Car클래스로 yourCar라는 새로운 인스턴스를 만들었다.

yourCar 는 myCar와 다른 속성(변수)들을 가지고 있다.

하지만 color, speed, gear와 print()를 가지고 있는 것은 같다.

클래스 Car를 이용하면 속성들의 값만 입력해주면 쉽게 yourCar를 만들수 있다.


 


이처럼 클래스란 객체를 쉽게 만들기 위해서 각 객체의 공통된 속성과 동작들을 미리 만들어 놓은 틀이다.


'Java > Java 공부' 카테고리의 다른 글

String 클래스  (0) 2016.07.18
메소드  (0) 2016.07.18
객체 지향 프로그래밍  (0) 2016.07.18
break 와 continue  (0) 2016.07.18
반복문  (0) 2016.07.18
COMMENT