Post

[Java] 클래스와 객체

java

클래스(Class)

클래스와 객체

  • 타입은 데이터의 종류나 형태를 나타낸다.
  • int는 정수, String은 문자 타입이다.
  • 클래스를 사용하면 타입을 직접 만들 수 있고, 사용자가 직접 정의하는 타입의 설계도가 클래스이다.
  • 클래스를 사용해서 실제로 메모리에 만들어진 실체를 객체 혹은 인스턴스라고 한다.
  • 즉, 클래스는 객체를 만들기 위한 설계도 혹은 틀과 같다.


1
2
3
4
5
public class Student {
    String name;
    int age;
    int grade;
}
  • 클래스는 데이터를 저장하는 필드(변수)와 객체의 행동을 정의하는 메서드(함수)를 포함할 수 있다.
  • 클래스의 이름은 대문자로 시작하며 낙타 표기법(CamelCase)를 쓴다. Student, MemberService

  • 멤버 변수(Member Variable): 클래스에 정의한 변수들
  • 필드(Field): 데이터 항목
  • 자바에서 멤버 변수와 필드는 같은 의미로 클래스에 소속된 변수를 뜻한다.
    • String name, int age, int grade


1
2
3
4
5
6
7
public static void main(String[] args) {
        Student student1;
        student1 = new Student(); //x001
        student1.name = "학생1";
        student1.age = 15;
        student1.grade = 90;
}
  • Student는 클래스이고, 이것으로 타입을 받을 수 있는 변수를 선언한다.
  • new Student()는 메모리에 실제 Student 객체를 생성한다.
  • Student 클래스가 가지고 있는 멤버 변수들을 위한 메모리 공간도 함께 확보된다.
  • .을 통해 접근한다.


  • new 키워드로 객체를 생성하면 자바는 이 객체에 접근할 수 있는 메모리상의 참조값(주소)를 반환한다.
  • Student student1 변수에 객체의 참조값이 저장된다.
  • 이 변수를 통해 실제 메모리에 존재하는 객체에 접근하고 객체를 사용할 수 있다.
1
System.out.println(student1);
  • 위의 코드를 실행하면 class1.Student@7a81197d와 같은 값이 출력된다.
  • @앞은 패키지와 클래스 정보를 뜻하며, @뒤의 16진수가 참조값을 의미한다.



Reference - 김영한의 실전 자바 - 기본편

This post is licensed under CC BY 4.0 by the author.