Categories: Java 언어Korean

Java 총 정리[43. class]

class(클래스)

이전 걸음 까지는 프로그래밍에서 동작을 담당하는 메소드에 대해서 공부를 했습니다. 이제 계속 프로그래밍을 하기 위해서 무조건 처음으로 만들었던 것을 배워 보도록 하겠습니다. 이번에 공부를 할 내용은 메소드보다 큰 개념이라는 것을 미리 인지를 하고 Java에서 상당히 중요하고 필수적으로 이해를 해야 하는 부분입니다. 이 글을 끝까지 읽으신다면 지금 설명 드리는 부분을 잘 이해를 할 수 있습니다.

오늘 공부할 이것은 메소드와 변수인 데이터를 동시에 담을 수 있는 그릇이라고 생각을 하시면 됩니다. 이 그릇 같은 곳에 메소드와 데이터인 변수 같은 내용을 잘 정의를 한다면 프로그램을 개발을 할 때 좀 더 좋은 소스가 구현 될 수 있다고 생각을 합니다.  이 글을 끝까지 꼭 읽어 주셔야 합니다. 그만큼 중요합니다.

class(클래스) 입니다. class는 Java를 공부를 할 때 무조건 처음에 만들고 변수부터 메소드까지 공부를 하였습니다. 그럼 class를 왜 공부를 해야 할 까요? class 단위로 정의를 하여서 객체를 만들게 됩니다. 객체가 Java 언어에 가장 중요한 특징인 객체 지향 언어입니다. 그래서 객체를 만들기 위해서는 class를 만들고 객체를 만드는 순서이기 때문에 class는 상당히 중요하다는 것을 인지 하셔야 합니다. 꼭 이 글을 읽고 class를 이해를 하셔야 합니다.

class 란?

class 란? class는 변수와 같은 데이터인데 이것을 속성이라고 부릅니다. 그리고 기능을 담당하는 메소드를 가지고 있고 객체화를 통해서 객체를 생성을 하여 사용을 하게 됩니다. 이 객체는 class에 정의가 한대로 움직이게 됩니다. 

붕어빵틀(클래스) -> 붕어빵(객체)     /   자동차도면(클래스) -> 자동차(객체)

class 장점

  1. class만으로는 메모리에 올라가지 않고 객체화를 진행을 해야 메모리에 올라갑니다.(자원 효율설)
  2. 재 사용성이 좋다.

※ 여기서 중요한 부분은 위에서 말씀드린 것처럼 Java는 class언어가 아니고 객체 지향 언어라는 것입니다. class를 통해서 꼭 객체를 만들어서 사용을 해야 합니다.

class 나온 이유?

왜 class개념이 나왔을 까요? 위에 사진을 보시면 알겠지만 사람이 어떻게 하면 이해를 잘 할 수 있을까?를 생각을 하면 됩니다. 모든 움직이는 것은 이 class 개념으로 설명을 할 수 있습니다. 이게 바로 사람들의 이해가 쉬워지고 그 개념이 class 입니다. 

예를 들어서 설명을 드리겠습니다. 모든 움직이는 물건들은 데이터(속성)과 움직이는 기능(메소드)를 가지고 있고 그걸 통해서 객체로 나온다면 아무리 같은 class더라도 객체는 다르게 됩니다. 바로 아무리 같은 사람이라고 하더라도 각자 개인은 다른 사람인 것과 똑같이 이해를 하시면 됩니다. 

class 설명

위에 사진으로 class와 객체에 대한 전반적인 내용을 설명을 하고 있습니다. class -객체화-> Object(객체)가 나오고 그 객체를 사용해서 동작이 됩니다. 

위에 강아지를 가지고 예를 들어 class를 만들어 보겠습니다.

강아지 -> 이름(String), 키(int), 나이(int) (속성) // 짖는다. 움직인다. 밥 먹는다.(기능) 

이렇게 속성과 기능으로 강아지에 대한 구조를 class로 만들 수 있습니다. 한번 class로 만들어 보겠습니다.

class Puppy{

     String name;

     int cm;

     int age;

      void move(){}

      void eat(){}

      void barking(){}

}

위와 같이 class를 만들면 됩니다.

함께 보면 좋은 글

§ Java 첫 걸음 변수와 자료형
§ Java 두 걸음 연산자
§ Java 세 걸음 형 변환
§ Java 네 걸음 Eclipse 설치
§ Java 다섯 걸음 Eclipse 개발 준비
§ Java 여섯 걸음 출력
§ Java 일곱 걸음 출력
§ Java 여덟 걸음 문제 풀기 1
§ Java 아홉 걸음 한글 깨짐
§ Java 열 걸음 제어문
§ Java 열 한걸음 if문
§ Java 열 두걸음 switch문
§ Java 열 세걸음 while문
§ Java 열 네걸음 for문
§ Java 열 다섯걸음 중첩 및 주의 사항
§ Java 열 여섯걸음 문제 1
§ Java 열 일곱걸음 문제 2
§ Java 열 여덟걸음 break continue
§ Java 열 아홉걸음 random
§ Java 스물 걸음 별 찍기 1
§ Java 스물 한걸음 별 찍기 2
§ Java 스물 두걸음 가위 바위 보 게임
§ Java 스물 세걸음 배열
§ Java 스물 네걸음 배열 활용
§ Java 스물 다섯걸음 Rando 활용 문제
§ Java 스물 여섯걸음 숫자 야구 게임
§ Java 스물 일곱 걸음 배열 숫자 야구 게임
§ Java 스물 여덟 걸음 다차원 배열
§ Java 스물 아홉 걸음 다차원 배열 심화
§ Java 서른 걸음 다차원 배열 문제
§ Java 서른 한 걸음 가변 배열
§ Java 서른 두 걸음 메소드(함수)
§ Java 서른 세 걸음 메소드형태
§ Java 서른 네 걸음 메소드 기초활용
§ Java 서른 다섯 걸음 메소드 문제1
§ Java 서른 여섯 걸음 메소드 구조 및 활용
§ Java 서른 일곱 걸음 메소드문제 2
§ Java 서른 여덟 걸음 Call by Value
§ Java 서른 아홉 걸음 Call by Reference
§ Java 마흔 걸음 메소드 숫자 야구 게임
§ Java 마흔 한걸음 재귀 메소드
§ Java 마흔 두걸음 재귀 메소드 문제
Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

4개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

5개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

5개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

6개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

6개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

6개월 ago

This website uses cookies.