본문 바로가기
IT관련/JAVA_정리 노트

class 기초

by XoX 2020. 4. 27.
728x90
개인적인 메모를 위해 작성된 글이므로 가벼운 참고용으로 봐주세요.

 

■ class = 틀 = 설계도
객체를 만들려면 우선 객체의 틀부터 만들어야 된다. 
그 틀이 바로 class이다.

class 자동차{ 

이건 이제부터 자동차 설계도라고 인식해야 한다. 
자동차가 아니라 자동차 설계도 이다. 
그럼 자동차라는 실체는? 

 

class Main { 
  public ststic void main(String[] args){ 
    new 자동차();
  } 

 

new를 붙여서 자동차라는 객체를 만든다.

즉 class라는 추상적인 것을 실체로 만들어주는 것을 객체화라고 한다.

class에 접근하기 위해서는 객체화가 필요하다.

 



■ 존재 유무 
class Main { 
  public ststic void main(String[] args){

 

    자동차 자동차1 = new 자동차();   
    자동차1.번호="12호 3456"   
    자동차1.최고속력=250;   
    자동차1.연식=2019; 

    자동차 자동차2 = new 자동차();   
    자동차2.번호="12호 3456" // 얘 아래에 System.out.print.(자동차2.연식); 이라고 쓰면 변수는 존재하는데 값이 입력안됐으므로 0이라고 출력된다. 

    자동차 자동차3 = new 자동차();  // 자동차를 만들면 자동으로 번호,최고속력,연식이라는 변수가 존재하게 됨. 하지만, 내용물을 넣지 않았으니 int면 0, string이면 null 

    자동차 자동차4;  // 아직 존재하지 않음. 그저 자동차 담는 공간의미. int x;가 x라는 공간만 의미하듯. 자동차가 존재하려면 자동차.자동차4 = new 자동차(); 라고 수정 

// 폴더를 만들려면 아래와 같이 객체의 틀에 int sting void 등이 먼저 구성되어 있어야 한다.

 

class 자동차{   
  String 번호; // 설계도 안에 있는 얘는 번호라는 변수가 존재한다는 뜻이 아님. 자동차 설계도로 자동차라는 객체만들게 되면 그 객체 안에 자동으로 번호변수가 있을 거라는 예언. 
  int 최고속력;
  int 연식;  // 만약 int 연식=2015;라고 하면 2015는 초기값일 뿐이고 나중에 위에서 수정 할 수 있음.
}



■ class(=설계도)에는 필드(변수)or메서드(함수)를 넣을 수 있다.
명사적인 속성은 변수로 표현 ex) int 최고속력
동사적인 기능은 함수로 표현 ex) void 달리다

※ 참고로 자바에서 객체 안에 들어있는 함수를 메서드라고 한다.


class Main{ 
  public static void main(String[] args){ 
    설계도명 리모컨으로 사용되는 객체의 이름1 = new 설계도명(); 
    리모컨으로 사용되는 객체의 이름1.설계도 안의 속성이자 버튼이름1();

    리모컨으로 사용되는 객체의 이름1.설계도 안의 속성이자 버튼이름3=정수;

    리모컨으로 사용되는 객체의 이름2.설계도 안의 속성이자 버튼이름2();

    리모컨으로 사용되는 객체의 이름2.설계도 안의 속성이자 버튼이름4=문자열;

  } 

class 설계도명{ 
  void 설계도 안의 속성이자 버튼이름1(){ 
    System.out.println("데이터1"); 

  }  

void 설계도 안의 속성이자 버튼이름2(){ 
    System.out.println("데이터2"); 

  }

  int 설계도 안의 속성이자 버튼이름3;

  String 설계도 안의 속성이자 버튼이름4;

  } 
}

 

실행하면 아래와 같이 출력된다.

데이터1

데이터2

 

 

728x90
반응형

'IT관련 > JAVA_정리 노트' 카테고리의 다른 글

[공책정리] 2020-04-29  (0) 2020.04.29
객체화와 생성자  (0) 2020.04.28
배열 기초  (0) 2020.04.27
메소드 입력/출력 예시  (0) 2020.04.26
메서드와 메모리  (0) 2020.04.26

댓글