[JAVA 객체지향] | 클래스를 type으로 사용하여 객체를 만들어요

1

Q1. 클래스를 변수의 type으로 쓰는 이유

Q2. 멤버변수 , 멤버메소드

Q3. 객체와 주소값     |     type 변수명 = new 클래스명( );


Q1. 클래스를 변수의 type으로 쓰는 이유

  • 클래스는 return을 할 수 없습니다.
  • 변수는 하나의 값만 가질 수 있습니다.
  • 메소드는 하나의 값만 return할 수 있습니다.

  • 그럼 한 번에 여러 값을 변수에 담고 싶을 때는요?
  • 한 번에 여러 값을 return할 수 있는 메소드가 필요할 때는요?

  • 여러 개의 값을 클래스로 묶고,
  • 그 클래스를 변수에 담거나, return한다면,
  • 결국 <여러 개의 값들을> <하나>로 묶어서 <하나만> 변수에 담거나, return할 수 있어요.

  • 그래서 클래스를 변수의 type으로 씁니다.


강아지의 이름과 나이를 한번에 변수에 담고 싶어요.
      👉 정보들을 하나의 클래스에 담고, 이 클래스를 다시 변수에 담으면 됩니다.

자바코드입력

public class Instance {
	public static void main(String[] args) {
    	Dog poodle = new Dog();   //아래의 Dog클래스 type의 변수 dog를 만들었어요. 👉Q3
    }
}

class Dog {
	String name;   //name과 age라는 정보가 Dog클래스에 한번에 담겨있어요 👉Q2
	int age;
}





Q2. 멤버변수 , 멤버메소드

자바코드입력

class Dog {
	String name;   //멤버변수
	int age;
    
    	void bark() { //멤버메소드
	    System.out.printf("%d살, %s가 멍멍\n", age, name);
	}
}
  • 멤버변수
    - 메소드 밖에 있는 변수이면서
    - 클래스의 정보를 나타내는 변수입니다.
    - 값을 저장할 수 있습니다.
    - 클래스의 명사를 표현합니다. (ex : 나이, 속도, 이름, 성별...)
  • 멤버메소드( )
    - 클래스 안에 있는 메소드 입니다.
    - 값을 수정할 수 있습니다.
    - 클래스의 동사를 표현합니다. (ex : 뛰다, 짖다, 운전하다, 말하다...)









Q3. 객체와 주소값     |     type 변수명 = new 클래스명( );

자바코드입력

public class Instance {
	public static void main(String[] args) {
    	Dog poodle = new Dog();   
    }
}

class Dog {
	String name;   
	int age;
}
  • Dog poodle = new Dog( );

       - poodle의 변수 type은 Dog.
         Dog라는 변수type은 reference type(참조형)

       - new : 객체화 명령.
       - new Dog( ); : 클래스 Dog의 객체가 만들어졌어요.

       👉Dog형 변수 poodle에는









콘솔창 결과










토끼그림

profile
몇 번을 넘어져도 앞으로 계속 나아가자

1개의 댓글

comment-user-thumbnail
2023년 2월 5일

와 클래스를 변수의 type으로 쓰는 이유 한번에 확 이해됐습니다 정말 감사합니다!!

답글 달기