TIL | JAVA 클래스

김윤희·2022년 8월 1일
0

Class 클래스

클래스의 정의


  • 클래스란?
    • 설계도
    • 데이터 + 함수
    • 사용자 정의 타입

📌 1. 설계도

클래스의 정의 클래스란 객체를 정의해 놓은 것
클래스의 용도 클래스는 객체를 생성하는데 사용된다

객체의 정의 실제로 존재하는 것. 사물 또는 개념
객체의 용도 객체가 가지고 있는 기능과 속성에 따라 다르다

클래스는 설계도 객체는 제품이다


📌 2. 클래스 == 데이터 +함수

변수 : 하나의 데이터를 저장할 수 있는 공간
배열 : 같은 종류의 여러 데이터를 하나로 저장할 수 있는 공간
구조체 : 서로 관련된 여러 데이터(종류 관계x)를 하나로 저장할 수 있는 공간(관계있는 변수들 모임)
클래스 : 클래스 데이터와 함수의 결합(구조체+함수)

📌 3. 사용자 정의 타입

  • 사용자 정의 타입 - 원하는 타입을 직접 만들 수 있다.

    • 1번

      int hour;
      int minute;
      int second;
    • 2번

      int hour1, hour2, hour3;		//3개의 시간 변수 선언
      int minute1, minute2, minute3;	//3개의 분 변수 선언
      int second1, second2, second3;	//3개의 초 변수 선언
    • 3번

      int[] hour = new int[3]; 	// 시간끼리 묶인 길이가 3인 배열
      int[]  minute = new int[3];	// 분끼리 묶인 길이가 3인 배열
      int[] second = new int[3];	// 초끼리 묶인 길이가 3인 배열

      👉 위처럼 변수와 배열을 생성한다면 시간, 분, 초는 각각 묶인다
      그러나, 아래와 같이 클래스를 생성하게 하게되면 위에 코드를 아래처럼 쓸 수 있다

    • 클래스 선언

      class Time {
      	int hour;
      	int minute;
      	int second;
      }
    • 클래스 선언 후 1번

      Time t = new Time();
    • 클래스 선언 후 2번

      Time t1 = new Time();
      Time t2 = new Time();
      Time t3 = new Time();
    • 클래스 선언 후 3번 (시간끼리 객체 배열로 변경)

      Time[] t = new Time[3];
      t[0] = new Time();
      t[1] = new Time();
      t[2] = new Time();

✔ 이렇게 해준다면 3개의 변수를 묶지 않았을 때 보다 코드가 더 간결해지고, 시, 분, 초가 따로따로 묶일 일이 없어진다👍
(처음 1,2,3번처럼 비 객체지향적인 코드이고, 클래스를 선언하고 작성한 코드는 객체지향적인 코드이다)

0개의 댓글