Sam Story

JAVA - Class 란? 본문

JAVA

JAVA - Class 란?

Sam H 2024. 1. 28. 15:50

객체 지향 프로그래밍

자바는 객체 지향 프로그래밍 언어인데 여기서 말하는 객체(Object)는 실존하는 것을 의미한다.

형체가 없고 추상적인 것이 아닌 실제로 존재하는 것을 객체라고 하는데

우리가 주변의 실세계에서 사물을 인지하는 방식을 프로그래밍에 접목하려는 프로그래밍이라고 생각한다.

 

Class

자바에서 클래스(Class)란 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용한다.

자바에서는 이런 클래스로 여러 객체를 생성해서 사용한다.

클래스는 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성되어있다.

 

 

좀 더 간단하게 이해하기 위해 간단한 붕어빵 만들기 예제를 통해 알아보도록 하자.

 

붕어빵을 만들기 위해서는 붕어빵 틀이 필요하다.

그러기 위해서 처음에 FishBread라는 class를 만들어 주었다.

public class FishBread{
}

 

여기서 만들어준 FishBread class가 붕어빵 틀이 되는것이다.

 

 

그런 후 붕어빵을 한번 만들어 보자.

public class Main{
public static void main(String[] args){

//붕어빵을 만든다 = 붕어빵 객체를 만든다
FishBread fishBread = new FishBread();

 }
}

이런식으로 객체를 선언하고 초기화 해줌으로써 붕어빵 객체를 만들 수 있다.

 

 

붕어빵 만들기 자체는 이렇게 간단하게 이루어진다.

그럼 이제 붕어빵에 '상태' 와 '행동' 에 대해서 한번 정의를 해보도록하자.

public class FishBread{

String name = "붕어빵"; // 붕어빵의 이름

int price = "500원"; // 붕어빵의 가격

String contents = "팥"; // 붕어빵의 내용물


public void touch(){ // 붕어빵을 만졌을때
  
  System.out.println("뜨겁다");
  
  }
  
}

 

코드를 보게되면 간단하게 설명해서

위쪽에 변수들을 선언해준곳이 '상태' 를 나타내고

touch라는 메소드가 행동을 나타낸다. (붕어빵이 우릴 만지지는 못하니 우리가 붕어빵을 만졌을 때를 가정하겠다.)

 

 

이렇게 간단하게 상태와 행동을 정의해주고

public class Main{
public static void main(String[] args){

//붕어빵을 만든다 = 붕어빵 객체를 만든다
FishBread fishBread = new FishBread();

System.out.println(fishBread.name); // 내가만든 붕어빵 객체의 이름 : "붕어빵"
System.out.println(fishBread.price); // 내가만든 붕어빵 객체의 가격 : 500
System.out.println(fishBread.contents); // 내가만든 붕어빵 객체의 내용물 : "팥"


// 기존 붕어빵 틀로 만든 붕어빵의 '상태'를 바꿔줄 수 있다.
fishBread.name = "Sam이 만든 붕어빵";
fishBread.price = 1000;
fishBread.contents = "슈크림";

System.out.println(fishBread.name); // 바꿔준 붕어빵 객체의 이름 : "Sam이 만든 붕어빵"
System.out.println(fishBread.price); // 바꿔준 붕어빵 객체의 가격 : 1000
System.out.println(fishBread.contents); // 바꿔준 붕어빵 객체의 내용물 : "슈크림"

fishBread.touch() // 붕어빵의 touch() 메소드를 실행시키면 결과값은 ? : "뜨겁다"

 }
}

 

위에 코드에서 알 수 있듯이 붕어빵의 상태는 정의하기에 따라 기존의 상태에서 바꾸어 줄 수 있다.

 

이런식으로 붕어빵 만들기를 통해서 class와 객체에 대해서 간단하게 공부해보았다.

지금은 단순히 붕어빵 만들기 예제를 통해서 알아보았지만

class 를 이해하고 사용하기 위해서는 많은 공부와 시도들이 필요하다고 생각한다.

'JAVA' 카테고리의 다른 글

JAVA - 배열 요소의 내림차순,오름차순  (0) 2024.03.23
JAVA - 문자열 자르기 Split  (0) 2024.03.17
JAVA - ArrayList 사용  (0) 2024.03.04
JAVA - 반복문( for문 , while문)  (1) 2024.01.14
JAVA - 변수 (자료형)  (0) 2023.10.31