Class
보통은 jdk 에서 제공되는 기본 클래스(라이브러리) 를 많이 사용한다.
class vs object (객체)
붕어빵 찍어내는 틀 vs 붕어빵
설계 vs 생성
1개 vs 여러개
기본 구조
[modifiers] class [class_identifer]{
[modifiers] data_type attribute_identifier;
[modifiers] class_identifir(...){...}
[modifiers] return_type method_identifier
([arguments]){
method_code_block
...
}
}
class_identifier : 키워드 x, 숫자 시작 x
: 특수 문자는 _, $ 두개만 가능
: 첫 글자는 보통 대문자, 명사형
: 보통 길이 제한은 없다고 말한다.
class : -data (재료) -field, 속성, 등등.. 이라고 부른다.
-method (동작)
ex) Car : 자동차 창문, 바퀴, 색, .... (설계자 마음대로라서 정답은 없음)
: 달리고, 멈추고, (동작, 행위, 일)
Class 기본 예제
ex)
Car 클래스
package com.ssafy;
public class Car {
//field, data, property, instance, variable, attribute, global variable 등등 다양한 용어가 있다.
int num;
String model; //전역 변수
String owner;
// 전역변수는 딱히 초기화를 안해줘도 괜찮다, 객체를 생성하면 default 값이 들어간다
#main() 안에 있는 변수들은 꼭 초기화를 시켜줘야 한다.
class 안에 변수를 만들면 전역 변수로 설정 되어 초기화를 시켜줄 필요가 없지만
main()안에는 꼭 초기화를 시켜줘야한다. main 안에서는 지역 변수이기 때문에
//method
public void run() {
int number ; //local variable 기본값이 없어서 초기화가 필요하다.
System.out.println("run method...");
}
public void stop() {
System.out.println("stop method...");
}
public void info() {
System.out.println("num:"+num);
System.out.println("model:"+model);
System.out.println("owner:"+owner);
}
}
CarUser 클래스 (main 메소드가 있어서 실행이 가능)
package com.ssafy;
public class CarUser {
public static void main(String[] args) {
//Car 객체 생성
Car c1=new Car(); //객체를 생성해야 그 클래스의 필드값, 메소드를 사용할 수 있다.
c1.model="BMW";
c1.num=1234;
c1.owner="tom";
//*객체 생성을 하면 field는 기본값을 가지고 있음.* -> 참조형 변수는 생성될때 기본 값이 주어지기 때문에
c2.info();
System.out.println();
//num:0 기본값
//model:null 기본값
//owner:null 기본값
c1.run();
c1.stop();
c1.info();
}
}
'JAVA > JAVA 기본 문법' 카테고리의 다른 글
[JAVA]-Java #Method Overloading (0) | 2019.01.19 |
---|---|
[JAVA]-Java 클래스 생성자 (0) | 2019.01.19 |
[JAVA]-Java 다차원 Array (0) | 2019.01.19 |
[JAVA]-Java Operation(메소드) (0) | 2019.01.19 |
[JAVA]-Java 1차원 배열 (0) | 2019.01.19 |