객체 = 속성(변수) + 기능(메서드)
public class
만 허용 public class의 이름
과 일치(대소문자 구분)Tv t; // 클래스의 객체를 참조하기 위한 참조변수를 선언
t = new Tv(); // 클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장
new
연산자는 객체를 만들고 객체의 주소를 반환함
객체 배열 == 참조변수 배열
Tv[] tvArr = new Tv[3]; // 길이가 3인 Tv타입의 참조변수 배열
// 객체를 생성해서 배열의 각 요소에 저장
tvArr[0] = new Tv();
tvArr[1] = new Tv();
tvArr[2] = new Tv();
// 위 방식을 간단하게 하면,
Tv[] tvArr = { new Tv(), new Tv(), new Tv() };
클래스 == 데이터 + 함수
// 비객체지향적 코드
int hour = 12;
int minute = 34;
int second = 56;
// 객체지향적 코드
Time t = new Time();
t.hour = 12;
t.minute = 34;
t.second = 56;
class Time {
int hour;
int minute;
int second;
}
객체지향적으로 작성하면 서로 관련된 값들을 강하게 묶을 수 있고, 코드가 덜 복잡하고 유지보수하기 쉽다.
class Variables {
int iv; // 인스턴스 변수(instance variable)
static int cv; // 클래스 변수(static변수, 공유변수)(class variable)
void method() {
int lv = 0; // 지역변수(local variable)
}
}