ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java | Abstraction 추상화 & Class 개요 및 생성
    JAVA/JAVA 2020. 1. 20. 17:44

    추상화 Abstraction

    기본 자료형으로는 저장할 수 없어서 새로운 자료형(객체)이 필요할 때 그것의 설계도(클래스)를 만드는 것

    ※ abstract(추상 클래스)를 쓰지 않아도, Class를 만드는 것 자체를 추상화라고 함


    Class

    Java에서 클래스는 객체를 생성할 때 사용되는
    틀(Template)이자 자료형(Data Type)

    객체의 속성(변수, 상수)과 기능(메서드)을 정의함

    ※ 자료형 중에서도 참조 자료형에 속함
    → Java에서 기본자료형을 제외한 모든 자료형은 참조 자료형에 속함


    Class를 만드는 이유?

    객체를 만들기 위해 클래스 생성

    기본자료형만으로는 저장할 수 없는 데이터와 메서드를 따로 저장 가능한
    사용자 정의 자료형을 만들기 위해서 추상화를 통한 클래스 작성


    Member Variable

    클래스 내부에 선언하여 객체의 속성을 나타내는 변수


    Member Function_Method

    클래스 내부에서 멤버 변수를 사용하여 클래스의 기능을 구현한 것

    ※ 클래스 없이 객체를 만들 수 없고, 클래스는 객체를 만들지 않으면 쓸모 없는 도구임


    Class 파일명 작성법

    1. 핵심 클래스를 찾아서 파일명으로 부여
      main() 메서드를 가지고 있는 클래스
    2. main() 메서드가 없다면, public 클래스를 파일명으로 부여
    3. 하나의 파일에 public클래스는 하나밖에 작성할 수 없음
    4. main() 메서드도 public 클래스도 없다면 어떤 것으로 작성해도 상관 없음
      → 거의 없는 경우

    Class 생성 형식

    class 클래스명 {
        Java code;    // 멤버 변수, 멤버 메서드가 포함됨
    }

    사용례_Car class 생성

    Car.java 파일에서 Car 클래스 생성

    public class Car {
        String name;                   // 차 이름
        int output;                    // 배기량
        int year;                     // 년식
        String color;                // 차 색깔
        int current_speed;             // 현재 속도, int 자료형의 기본 값은 0
        boolean sidong = false;     // 시동 / 주차
    
        // 1. 차 시동 걸기 -> 단순하고 반복적인 기능(매개변수 X, 반환값 X)
        void startEngine() {
            sidong = true;            // 멤버 변수 값 저장 가능
            System.out.println("시동!!"+sidong);
        }
    
        // 2. 차 속도 증가 -> 매개변수 O 반환값 X, 속도를 입력 받아서 계산, 저장
        void speedUp(int speed) {    
            current_speed += speed;
            System.out.println(speed+"km/h만큼 속도 증가!!");
        }
    
        // 3. 차 속도 감소
        void speedDown(int speed) {
            current_speed -= speed;
            System.out.println(speed+"km/h만큼 속도 감소!!");
        }
    
        // 4. 차 정보 출력
        void carInfoPrint() {
            System.out.println("===차의 정보===");
            System.out.println("차 이름: "+name);
            System.out.println("배기량: "+output);
            System.out.println("색깔: "+color);
            System.out.println("현재 속도: "+current_speed);
            System.out.println("시동 상태: "+sidong);
        }
    
        // 5. 주차
        void stop() {
            sidong = false;
            current_speed = 0;
            System.out.println("주차!!");
        }
    }

    Class의 개요와 생성 방법에 대해 간단하게 살펴보았습니다.

    Class는 객체의 뼈대, 틀이라고 할 수 있고 멤버변수와 메서드를 통해 데이터와 기능을 구현할 수 있습니다.

    하나의 Class로 여러 개의 객체를 생성할 수 있기 때문에 설계를 통해 Class를 작성하는 것이 좋다고 합니다.

    댓글

Designed by Tistory.