자바는 객체지향언어이기 때문에 클래스와 객체는 매우 중요하다.
클래스(Class)
클래스는 객체를 생성하기 위한 '틀', '설계도'이다.
객체가 가져야 할 속성(변수)과 기능(메서드)를 정의함
클래스는 붕어빵 틀이라고 생각해보면, 붕어빵 틀(클래스)은 붕어빵(객체)를 만드는 틀일 뿐이지 붕어빵(객체)이 아니다.
붕어빵 틀(클래스)에서 팥붕어빵(객체)이던 슈크림붕어빵(객체)를 만드는 것이다.
public class Student {
String name;
int age;
}
학생(Student)클래스 - 클래스는 관례상 대문자로 시작하고 낙타표기법(카멜케이스)을 사용한다.
카멜케이스 예시 : Student, OrderDate, UserName
Student라는 클래스에 name과 age라는 속성(변수)를 정의함.
객체(Object)
객체는 클래스에서 정의한 속성(변수)과 기능(메서드)을 가진 실체이다. 객체는 서로 독립적인 상태를 가진다.
public static void main(String[] args) {
Student student1 = new Student();
student1.name = "김자바";
student1.age = 17;
Student student2 = new Student();
student2.name = "백자바";
student2.age = 19;
}
위 코드에서 student1은 "김자바"의 속성을 가지는 객체이고 student2는 "백자바"의 속성을 가지는 객체이다.
위 코드 student과 student2는 같은 Student(클래스)로 만들었지만, 서로 다른 객체이다 - 서로 독립적
각 객체에 접근하려면 student1 or student2하고 .(점) 속성(변수)로 접근가능
student1.name = "김자바"; => student1객체의 name 속성에 "김자바"라는 문자열을 저장한다.
객체와 인스턴스
- 객체라는 단어를 쓸때, 객체/인스턴스 두가지를 쓰는데 거의 동일한 의미인데
인스턴스는 관계에 더 초점을 맞춘 용어이다.
예시로 student1과 student2는 Student의 객체라고 얘기할 수 있지만,
student1은 Student의 인스턴스이다.
곧, Student라는 해당 클래스와 관계된 student1(객체)을 얘기할 때 인스턴스라고 표현한다.
'개발 > JAVA' 카테고리의 다른 글
자바) 객체지향 개념 - 다형성에 대해서 (개념과 예시로 이해) (3) | 2024.09.14 |
---|---|
자바) Setter의 사용성 (0) | 2024.09.14 |
자바) JVM에 대해서 (0) | 2024.09.03 |
[JAVA 기초] 조건문 - if문 (1) | 2024.01.30 |
Java API 문서 다운로드 (0) | 2022.08.03 |