[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.