객체 생성
클래스를 완성시킨 다음, 객체를 생성할 때는 new ( )를 사용한다.
new는 클래스로부터 객체를 생성시키는 연산자로, new 연산자 뒤에는 생성자가 온다.
new 연산자를 사용하면 힙 영역에 객체를 생성한 뒤, 객체의 주소를 클래스 타입의 변수에 저장한다.
//클래스 변수 = new 클래스();
public class Student{
} //클래스 선언
Student s1 = new Student();
Student s2 = new Student();
Student 클래스는 하나이지만 new 연산자를 사용한만큼 객체가 메모리에 생성된다.
비록 같은 클래스로부터 생성되었지만 s1, s2 각각의 객에는 자신만의 고유 데이터를 가진다.
즉, s1과 s2가 참조하는 Student 객체는 완전히 독립된 객체이다.
클레스 멤버
클래스는 객체가 가져야 할 구성 멤버를 선언한다. 구성 멤버로는 필드, 생성자, 메소드가 있다.
필드
필드는 객체의 데이터를 저장하는 곳으로, 변수와 선언 형태가 비슷하다.
public class Car{
String company;
String color;
int maxSpeed;
}
필드 선언은 클래스 내 어디서든 할 수 있다.
생성자와 메소드 블록 내부에서 선언된 것은 로컬 변수(지역 변수)로, 해당 블록 내에서만 사용 가능하다.
초기값을 따로 지정하지 않은 필드들은 객체 생성시에 생성자에 의해 자동으로 초기값이 설정된다.
(정수 타입(이 외 숫자들)은 0, boolean타입은 false, 참조타입은 null이 초기값이다.)
필드를 사용한다는 것은 필드 값을 읽고 변경하는 작업을 말한다.
이때 클래스 내부의 생성자나 메소드에서 사용할 경우, 단순히 읽고 변경하면 되지만.
클래스 외부에서 사용할 경우 그냥 사용하는 것이 아니라 클래스로부터 객체를 생성한 뒤 필드에 접근해야한다.
public class CarExample{
public static void main(String[] args){
Car myCar = new Car(); // 객체 생성
myCar.maxSpeed = 80; //필드 값 변경
System.out.println("제조회사: " + myCar.company);
}
}
'Dev > Java' 카테고리의 다른 글
[Java] 메서드 오버라이딩 (0) | 2022.07.11 |
---|---|
[Java] 클래스 상속 (0) | 2022.07.08 |
[Java] 객체 지향 프로그래밍의 특징 (0) | 2022.07.04 |
[Java] 배열 (0) | 2022.07.02 |
[Java] 객체 / 클래스 (0) (0) | 2022.06.29 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!