객체 지향 프로그래밍( OOP : Object Orient Programming )이 객체화된 부품(code)를 가져다 사용하는것이라면 Class는 어떻게 해야 부품(code)을 편하게 가져와 사용할까? 라는 관점에서 생긴것이라고 생각하면 될 것같다.
다른 부품을 잘 사용 하기 위해선 분류가 필요하다.
그래서 Java는 package와 class라는 분류체계가 존재한다.
class는 method와 변수 등을 담는 분류이다.
그러므로 class의 이름은 class 안의 변수와 메서드의 종류를 대변하는 이름이어야 한다.
이런 클래스를 종류별로 담아놓은 폴더가 package이다.
- Java의 파일은 최소 1개이상의 class를 가지고 있어야한다.
- class는 하나의 자료형이 될 수 있다. (String, Integer, Double. . .)
- class 안에 class를 선언 할 수도있다.
- class를 만드는데 규칙이 있다.
- 클래스의 첫글자는 대문자로 한다.( *파스칼 표기법 )
- ' $ '나 ' _ '외의 특수문자는 사용 할 수 없다.
- 클래스와 자바 파일명은 서로 동일 해야 한다.
class의 특정 내용을 사용 하기 위해서는 class를 instance화 해야 한다.
instance란 원본 class를 복사해 오는 것을 의미한다 ( = class로 부터 객체를 선언하는 과정)
하나의 class로 여러개의 instance를 생성 할 수 있다.
복사된 객체는 변수에 담을 수있고 이때 데이터 타입은 객체의 원본 class 형태가 된다.
// 아래의 예제에서 std1 과 std2는 서로 다른 객체이다.
Student std1 = new Student();
Student std2 = new Student();
// 두 객체를 출력해보면 주소값이 다른걸 확인 할 수 있다.
System.out.println(std1+"\n"+std2); // chap03.ex03.ins.Student@626b2d4a
// chap03.ex03.ins.Student@5e91993f
System.out.println(std1 == std2); // false
간단하게 말해서 소프트웨어 세계에 구현 할 대상은 객체(Object),
이를 구현하기 위한 설계도가 class,
이 설계도에 따라 소프트 웨어 세계에 구현된 실체가 instance이다.해당 블로그의 글을 인용
>> https://cerulean85.tistory.com/149 <<