foxpacking

Programming Lessons

Java 언어 Korean

Java 총 정리[43. class]

class(클래스)

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

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

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

class 란?

class메인사진

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

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

class 장점

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

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

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

About Author

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You may also like

Korean Programming 기초

IT 개발자 VS 프로축구선수 비교?

IT 개발자와 프로축구선수의 같은 점과 다른 점? 프로그래밍 공부를 하시면서 개발자로 취업을 하려고 하는데 과연 취업을 할 수 있을까? IT
Korean 클라우드

AWS 로그인 불가능, AWS고객 센터 이메일 문의 결과는?

AWS 고객센터 이메일 문의 솔직후기 AWS를 사용하기 위해 로그인을 하는 경우 이메일로 코드 번호를 보내지만 이메일로 받을 수 없는 상황이거나