프로그래밍/자바(java) 융합개발자 2차

[취성패] 자바 배우기 - 선수학습(클래스)

aSpring 2020. 12. 12. 18:23
728x90
728x90

1. 클래스의 구조와 선언

1) 클래스 개요

- 클래스는 객체를 생성하기 위한 틀과 같으며 속성과 행위(메서드)를 포함

- 예 : 자동차

클래스                                                         

클래스에서는 개념만 정의함(승차정원, 최고속도 등..)

-> 객체 생성해서는 승차정원은 5로, 최고 속도는 : ~로 구체적으로 해서 만든다

- 클래스 : 추상화된 내용 -> 자체로는 어떤 역할을 하지 못함

- 객체 : 구체적인 내용 -> 객체로 생성해야 동작

 

2) 클래스 선언

class 클래스명 {            -> 클래스 : 식별자 선언 규칙(영문 대문자로 시작, 특수문자 X 등)

 데이터형 변수명;          -> 속성 : 여러 개가 나올 수 있음 ex) 승차인원, 최고속도

 생성자() {   }                -> 객체화되어 동작할 때 우선적으로 처리해야 할 일들을 넣어줌

 데이터형 메서드() {   }   -> 행위 정의, 데이터형 -> 반환형(정수형, 문자열형 등으로 지정)

}

 

- 자동차 클래스 선언 예

class Car {

  int num;              //속성(승차정원)

  int speed = 120;   //속성(차량 속도, 120으로 초기화) -> 객체가 생성될 때 120으로 시작

  void velUp() {       //메서드(속도 10 증가)   -> 메서드 2개가 설계되어 있음.

    speed += 10;

  }

  void velDown() {   //메서드(속도 10 감소)

    speed -= 10;

  }

}

 

-> void : 반환 타입이 없다.

 

 

 

2. 객체 생성

1) 객체 생성 개요

- 클래스를 선언하는 것만으로는 프로그램에서 사용할 수 없으며 객체 생성을 해야만 사용 가능함

- 객체 생성 문법          ┌> 안에 매개변수가 없는 기본 생성자 = 클래스명과 동일

      -> Car tico = new Car();

  클래스명  객체명(식별자 선언 규칙, 공백 X, 예약어 X 등.. 지켜서)

- 위 문장은 이미 선언된 Car클래스를 사용하여 tico라는 객체를 생성하고 있음

- 객체 변수(레퍼런스 변수라고도 함)는 기억공간에 할당됨

- 객체의 속성이나 메서드에 접근하기 위해서는 점(.) 연산자를 사용함

tico.speed = 110;

tico.velUp();        -> 메서드 호출

tico.velDown();

 

2) 객체 생성 활용

- Car 클래스를 선언하고 객체를 2개 생성하는 구문

class Car {

  int num = 5;

  int speed = 110;   -> 초기화

  void velUp() {

    speed += 10;

  }

  void velDown() {

    speed -= 5;

  }

}   -> 실제로 이 클래스를 메모리에 올려서 사용하고자 할 때는 아래처럼 객체 생성을 해야 함

 

Car tico1 = new Car()  -> 객체 생성

Car tico2 = new Car()

     └> 객체변수

 

tico1.velUp(); -> tico1의 할당되어있던 speed 값 110이 호출되고 +10되어 120이 됨

 

 

- 클래스의 선언과 객체 생성 예

class Car {

        int num = 5;

        int speed = 110;

        void velUp() {           //메서드, 현재는 void로 반환값이 없음

               speed += 10;

        }

        void velDown() {

               speed -= 5;

        }

}

public class Exam9_1 {

        public static void main(String[] args) {

               Car tico = new Car();             -> tico라는 이름으로 객체 변수 만듦, 생성자는 클래스명과 동일하게 Car로

               System.out.println(tico.speed); -> 110

               tico.velUp();

               tico.celUp();

               System.out.println(tico.speed); -> 130

               tico.velDown();

               System.out.println(tico.speed); -> 125

        }

}

728x90
728x90