Java - Class(1)_개념&객체화 [IT 국비지원/구디 아카데미/김지훈 강사님]

hooon__dii·2023년 8월 24일
0

Java

목록 보기
7/11
post-thumbnail

Class

객체 지향 프로그래밍( OOP : Object Orient Programming )이 객체화된 부품(code)를 가져다 사용하는것이라면 Class는 어떻게 해야 부품(code)을 편하게 가져와 사용할까? 라는 관점에서 생긴것이라고 생각하면 될 것같다.

Classification(분류)

다른 부품을 잘 사용 하기 위해선 분류가 필요하다.
그래서 Java는 packageclass라는 분류체계가 존재한다.
class는 method와 변수 등을 담는 분류이다.
그러므로 class의 이름은 class 안의 변수와 메서드의 종류를 대변하는 이름이어야 한다.
이런 클래스를 종류별로 담아놓은 폴더가 package이다.

Class의 기본적인 특징

  • Java의 파일은 최소 1개이상의 class를 가지고 있어야한다.
  • class는 하나의 자료형이 될 수 있다. (String, Integer, Double. . .)
  • class 안에 class를 선언 할 수도있다.
  • class를 만드는데 규칙이 있다.
    • 클래스의 첫글자는 대문자로 한다.( *파스칼 표기법 )
    • ' $ '나 ' _ '외의 특수문자는 사용 할 수 없다.
    • 클래스와 자바 파일명은 서로 동일 해야 한다.
* 표기법
:  class 생성시에는 파스칼 표기법
모든 단어의 첫 글자는 대문자이면 나머지는 소문자 (ex) Blackcolor
:  그 외에 변수등을 선언 할 때는 카멜 표기법
처음에 사용되는 단어 외에는 의미를 갖는 단어의 첫 글자를 대문자 (ex) blackColor

Class의 instance화( 객체화 )

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

class , 객체 , instance의 차이점

간단하게 말해서 소프트웨어 세계에 구현 할 대상은 객체(Object),
이를 구현하기 위한 설계도가 class,
이 설계도에 따라 소프트 웨어 세계에 구현된 실체가 instance이다.

해당 블로그의 글을 인용
>> https://cerulean85.tistory.com/149 <<

class 완벽하게 이해하기 가능 ?
it국비지원 / 구디아카데미 / 김지훈 강사님

0개의 댓글