JAVA/개념

자바 Study 객체 생성 Part 6

세언이 2022. 10. 6. 10:52
반응형

객체 생성을 위해 무엇이 필요한가?🤔

new 연산자는 무엇을 의미할까?🤷‍♀️

 

 

6. 객체 생성

객체를 생성할 때는 new 연산자를 사용하는데, 이 연산자는 생성한 객체의 주소를 반환

일반적으로 객체를 생성할 때 해당 객체를 참조할 변수부터 선언

그러나 객체를 두 번 이상 참조하지 않는다면 굳이 참조 변수를 선언하지 않아도 된다!

 

일반적인 객체 생성 형식                        
                                              
클래스이름 변수;          // 객체 변수 선언                     
변수 = new 클래스이름();  // 객체 생성
변수를 생략한 객체 생성 형식

new 클래스이름();

 

클래스는 자바의 데이터 타입에서 참조 타입 중 하나이다.

new 연산자를 사용해 객체를 생성하고 반환된 주소를 변수에 대입하면, 변수가 생성된 객체를 참조한다.

int ten = 10;               // 기초 타입
Ball myBall = new Ball();   // 참조 타입

 

클래스를 선언한 후 2개의 객체를 생성해 참조 변수에 대입하는 예제

class Phone {

		String model;      // model이라는 필드(멤버 변수, 인스턴스 변수)
		int value;         // value라는 필드(멤버 변수, 인스턴스 변수)
		
		void print() {     // print라는 메서드(멤버 메서드)
			System.out.println(value + "만원짜리" + model + "스마트폰");
		}
}
public class PhoneDemo {

	public static void main(String[] args) {
		Phone myPhone = new Phone();           // Phone 타입의 객체를 생성한 후 myPhone이라는 참조변수에 대입
		myPhone.model = "갤럭시 폴더4";        // 객체의 model이라는 필드(멤버 변수, 인스턴스 변수)에 대입
		myPhone.value = 140;                   // 객체의 value라는 필드(멤버 변수, 인스턴스 변수)에 대입
		myPhone.print();                       // 객체의 메서드(멤버 메서드)를 호출
		
		Phone yourPhone = new Phone();         // Phone 타입의 객체를 생성한 후 yourPhone이라는 참조변수에 대입
		yourPhone.model = "갤럭시 v30";        // 객체의 model이라는 필드(멤버 변수, 인스턴스 변수)에 대입
		yourPhone.value = 160;                 // 객체의 value라는 필드(멤버 변수, 인스턴스 변수)에 대입
		yourPhone.print();                     // 객체의 메서드(멤버 메서드)를 호출
	}
}

 

 

여러분들의 도움이 되었으면 하는 바램과 함께 다음장에 계에에속

 

반응형