■ 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
'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 |
댓글