[객체참조.멤버명]
m3.memoryUp(768);
m3가 MP3p클래스가 생성되어 그 객체의 참조변수를 가지는 변수이다.
즉, 생성된 MP3p객체를 m3가 참조하는 것이고 이것을 통해 인자값으로 768을 전달한다.
instance 변수
하나의 클래스에서 여러 객체가 생성될 때 각 객체의 속성으로 자리잡은 변수이다. 객체를 생성하지 않으면 사용할 수 없다.
static 변수
하나의 클래스에서 여러 객체가 생성될 때 단 하나만 생성되며 모든 객체들이 공유한다.
메모리 내에서 객체가 생성될 때 자동으로 한번 호출되어 객체의 구조를 인식하고, 생성하는 객체의 멤버변수들을 초기화 한다.
public class MyClass1Test {
public static void main(String[] args) {
MyClass1 mc1 = new MyClass1();
mc1.setName("www.sist.co.kr");
}
}
MyClass1 > MyClass1타입의 참조변수 mc1 생성
new > 메모리 생성
MyClass1() > 생성자로 객체를 만들고 객체의 참조값을 참조변수(mc1)에 대입
먼저 생성자가 없을 때 차번호, 연식을 초기화 하는 코드를 살펴보자
Car 클래스
public class Car {
String carNumber;
int carYear;
public void initCar(String carN, int carY) {
carNumber = carN;
carYear = carY;
}
public void check() {
System.out.println("차번호: " + carNumber);
System.out.println("차 연식: " + carYear);
}
}
MyCar 클래스
public class MyCar extends Car{
public static void main(String[] args){
MyCar sonata = new MyCar();
sonata.initCar("12-1234", 5);
MyCar bmw = new MyCar();
bmw.initCar("34-3456", 0);
sonata.check();
bmw.check();
}
}
Car 클래스에서 생성자 없이 초기화 하는 방법은 다음과 같다.
public void initCar(String carN, int carY) {
carNumber = carN;
carYear = carY;
다음의 initCar함수는 인스턴스의 초기화를 위한 함수이다.
이제 생성자를 이용해 초깃값을 초기화 해 보자.
public Car(String carN, int CarY){
carNumber = carN;
carYear = carY;
}
생성자로 초기화 하였다.
MyCar sonata = new MyCar("12-1234", 5);
MyCar bmw = new bmw("34-3456", 0);
다음 문장으로 별도의 초기화 메서드 없이 생성자가 호출되며 값들이 전달된다.
즐겁게 읽었습니다. 유용한 정보 감사합니다.