Categories: Java 언어Korean

Java 총 정리[44. class 선언과 사용]

class(클래스) 예제

이전 걸음에서 class에 대한 설명을 여러 가지로 드렸습니다. 그러면 실제로 class를 만들어 보고 그 class를 객체화를 진행해서 사용을 할 수 있게 해봐야 한다고 생각을 합니다. 당연히 이전 걸음으로 이해를 다 하셨다고 생각을 하실 수 있지만 좀 더 이해를 돕고자 예제를 이용한 class를 해보겠습니다.

class를 원론적으로 이해를 했다고 해서 실제 소스 코드를 구현이 잘 될 수 있을 까요? 당연히 저는 힘들다고 생각을 합니다. 예제 소스를 보고 사용법에 대한 이해와 활용을 배워야 하면 또 더 나아가서 문제를 풀어 봐야 좀 더 프로그래밍을 하는데 도움이 될 수 있다고 생각을 합니다. 이번 걸음에서는 예제를 확인하면서 사용법에 대해서 자세히 알아보겠습니다.

class 선언과 사용 예제를 한번 해보겠습니다. class는 선언만 알아도 안되고 사용만 알아도 안됩니다. 그렇기 때문에 공존하듯 선언과 사용을 동시에 알아야 합니다. 이번 걸음에서 class 선언도 해보고 사용도 함께 할 수 있도록 하겠습니다.

class 관련 소스

    
class A{
     int a; // 속성
     //긴기능
     void print(){
         System.out.println("a는"+a+"입니다.");
     }
}

public class classTest{
       public static void main(String[] args){
          A a = new A();
          a.a = 10;
          a.print();
          A a1 = new A();
          a1.print();
       }
}
    

위의 예제와 설명에서 볼 수 있듯이 class를 선언을 하고 꼭 (new + 생성자)를 호출이 되어야 객체가 생성이 됩니다. 객체가 생성이 되면 class 안에 있는 속성이나 기능을 사용을 할 수가 있습니다. 여기서 중요한 것은 (new + 생성자)가 불리면 객체 하나가 생성이 된 것이고 (new + 생성자)가 또 불린다면 또 다른 객체가 생성이 된 것이기 때문에 객체가 총 2개가 되는 것입니다. 아무리 똑같은 class로 만들어 졌다고 하여도 엄연히 서로 다른 것이기 때문에 print() 메소드 호출 시 같은 결과가 나오지 않습니다. 

a변수 객체는 10이 나오고 a1변수 객체는 값을 따로 넣어주지 않았기 때문에 0이 출력이 됩니다. 

※ 같은 클래스로 만들어진 객체라고 해서 같은 것은 아닙니다. 꼭 참고 해주세요.

※ 객체 생성 시 속성들은 자료형에 맞는 default 값이 들어갑니다. int -> 0 / double -> 0.0 / boolean -> false 객체 -> null 이 들어가게 됩니다.

함께 보면 좋은 글

§ 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 마흔 두걸음 재귀 메소드 문제
§ Java 마흔 세걸음 class(클래스)란?
Dolphin

Recent Posts

Java 총정리[97. Java GUI]

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

5개월 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.