클래스와 객체 만들기

#JAVA #클래스 # 객체
Dec 28, 2023
클래스와 객체 만들기

 

클래스와 객체는 객체지향 프로그래밍(OOP)에서 중요한 개념을 가진다.

 
  1. 클래스(Class)
      • 클래스는 객체를 생성하기 위한 일종의 틀이나 설계도이다.
      • 클래스는 속성(데이터, 변수)과 메서드(동작, 함수)를 포함한다.
      • 예를 들어, "자동차" 클래스에는 자동차의 속성(브랜드, 모델)과 메서드(시동 켜기, 정지하기)가 있을 수 있다.
 
  1. 객체(Object)
  • 객체는 클래스의 인스턴스로, 실제로 메모리에 할당된 것을 의미한다.
  • 객체는 클래스에서 정의한 속성과 메서드를 가지며, 이를 통해 특정한 기능을 수행할 수 있다.
 
  1. 캡슐화(Encapsulation)
      • 캡슐화는 데이터와 해당 데이터를 처리하는 메서드를 하나로 묶는 것을 말한다.
      • 정보 은닉(Private)을 통해 객체 내부의 상세한 구현을 감추고 외부에서는 객체의 공개된 인터페이스만 접근할 수 있도록 한다.
 
 
예제 코드를 통해 설명하면

Person4 class의 정의

Class는 객체가 아니라 객체를 만들기 위한 설계도에 해당한다.
사람을 Person4 class로 정의하고 몸무게 값을 준다.
클래스의 상태 접근 제어자 private을 주어 어디에서도 접근 불가능하게 한다.
 
package ex04; // 설계도 class Person4 { // 상태 = 변수 // 변경 시키려면 행위를 통해 변경 시켜야 함 // 접근 제어자 앞에 private 붙으면 어디에서도 접근 불가능, // public 붙으면 어디에서도 접근 가능하다. private int weight = 100; // 몸무게 // 확인용 --> return 값을 받아 확인한다. public int getWeight() { return weight; } // 행위 = 메서드 // void 리턴 안해줌 public void exercies() { weight = weight - 10; // 몸무게 감소 코드 } public class OOOPEx02 { public static void main(String[] args) { Person4 p4 = new Person4(); // Person4 클래스의 객체 생성 // 클래스명 참조 변수명 new 생성자명(데이터); // new 키워드에 의해 객체(인스턴스)가 생성할때 호출 되는 메서드 형태 // 주로 객체의 변수를 초기화하는 용도로 사용된다. // 메서드를 호출하려면 . 을 사용한다. System.out.println("p4의 몸무게: " + p4.getWeight()); p4.exercies(); System.out.println("p4의 몸무게: " + p4.getWeight()); p4.exercies(); System.out.println("p4의 몸무게: " + p4.getWeight()); p4.exercies(); System.out.println("p4의 몸무게: " + p4.getWeight()); p4.exercies(); System.out.println("p4의 몸무게: " + p4.getWeight()); p4.exercies(); System.out.println("p4의 몸무게: " + p4.getWeight()); p4.exercies(); System.out.println("p4의 몸무게: " + p4.getWeight()); p4.exercies(); System.out.println("p4의 몸무게: " + p4.getWeight()); p4.exercies(); System.out.println("p4의 몸무게: " + p4.getWeight()); p4.exercies(); System.out.println("p4의 몸무게: " + p4.getWeight()); p4.exercies(); System.out.println("p4의 몸무게: " + p4.getWeight()); } }
 

Main 클래스 (실행 클래스)

해당 클래스의 객체를 Main 클래스에서 객체를 생성하여 메서드를 호출한다.

행위 = 메서드

살이 쪄서 다이어트를 해서 몸무게를 감소 하려는 행위를 한다.
p4.exercies(); 로 객체의 메서드를 불러와 행위 = 메서드를 확인한다.
(몸무게를 감소하는 코드(행위) 확인 )
System.out.println("p4의 몸무게: " + p4.getWeight());
p4의 몸무게를 확인하기 위해 getWeight()); 캡슐화된 메서드를 통한 접근
메서드를 불러와 return 값을 받아 확인한다.
 
이때 객체 지향 상태와 행위는 상태값을 변경 시키려면 행위를 통해서 변경 시켜야 한다는 것을 알 수 있다.
 
실행결과 p4의 몸무게: 100 p4의 몸무게: 90 p4의 몸무게: 80 p4의 몸무게: 70 p4의 몸무게: 60 p4의 몸무게: 50 p4의 몸무게: 40 p4의 몸무게: 30 p4의 몸무게: 20 p4의 몸무게: 10 p4의 몸무게: 0
 
💡
Java에서는 기초 변수와 참조 변수로 나눌 수 있다.
  • 기초 변수(primitive Variable)
    • int, float, char 등의 기초 자료형의 값을 저장하는 변수이다.
  • 참조 변수 (Reference Variable)
    • 객체를 가리키는 변수로, 객체의 주소를 저장한다.
      주소는 메모리 번지수이고 주소를 포인터라고 한다.
 
Share article

Coding_study