티스토리 뷰

JAVA

객체와 클래스

Y.일월 2019. 9. 10. 11:10


객체(Object)란?


물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중 자신의 속성을 가지고 있고, 다른 것과 식별 가능한 것을 뜻한다.

자동차, 자전거, 책, 아파트.... 모두 객체가 될 수 있다.



클래스(Class)란?


클래스는 객체의 설계도를 뜻한다.

예를 들어, 객체를 아파트로 놓았을 때, 아파트의 청사진을 클래스로 비유할 수 있을 것이다.




프로그래밍의 첫걸음은 객체와 클래스의 구상 및 설계이다.

어떤 프로그램을 만들지, 어떤 객체를 사용할 것인지 구상하는 것은 프로그래밍에서 매우 중요하다고 볼 수 있다.


사용하고자 하는 객체를 구상했다면, 그 객체의 대표 이름을 하나 결정하고 이것을 클래스 이름으로 설정하는 것이 일반적이다.

클래스의 이름은 첫 자를 대문자로 하고, 서로 다른 단어가 혼합된 이름을 사용할 경우, 각 단어의 첫 머리 글자를 대문자로 작성하는 것이 관례이다. (HappyHome, People, CarTire...)



클래스 이름은 몇가지의 작성 규칙을 가진다.

다음은 클래스의 작성 규칙이다.


1. 하나 이상의 문자로 이루어져야한다.

2. 첫 번째 글자는 숫자가 올 수 없다.

3. '$' , '_'외의 특수 문자는 사용할 수 없다.

4. 자바 키워드는 사용 할 수 없다.                ex:) int, double, for...




클래스의 선언


클래스의 선언은 일반적으로


public class 클래스이름{}


으로 한다.

public은 접근 제한자이며, 접근 제한자에 대한 설명은 다음으로 미루도록 하겠다.



예시:)


 House라는 이름의 클래스를 선언하고 싶을 경우,


public class House{


}





객체의 생성


클래스는 객체를 만들기 위한, 설계도라고 이야기 한 바있다.

클래스로부터 객체를 만들기 위해서는 new 연산자를 이용하여 객체를 생성하면 된다.

객체의 생성 방법은 다음과 같다.


클래스변수 = new 클래스이름();


new 연산자를 이용하여 객체를 만들면, new 연산자는 해당 객체를 메모리 힙(heap) 영역에 생성시킨다.

그 후, 객체의 주소를 리턴 한다. 

리턴 받은 주소를 클래스 변수에 저장해 두면 변수를 통해 쉽게 객체를 사용할 수 있다.



다음은 클래스 타입으로 선언된 변수에 new 연산자가 리턴한 객체의 주소를 저장하는 코드이다.


Student sam = new Student();

Student ann = new Student();





클래스 선언과 객체 생성의 예.



[House.java] 클래스 선언


public class House{


}



[HouseEx.java] 클래스 선언

public class HouseEx {

public static void main(String[] args){


House apartment = new House();        

House villa = new House();                 

System.out.println("apartment, villa 변수가 House 객체를 참고 하고 있습니다.");


}

}


예제가 실행되면, 메모리에 클래스 변수와 객체가 생성된다.

House 클래스는 하나지만, new 연산자를 사용한 횟수는 2번이다.

즉, 2개의 객체가 메모리에 생성되는 것이다.


각각의 House 객체들은 자신만의 고유 데이터를 가지면서, 메모리에서 활동하며, apartment와 villa가 참조하는 House 객체는 완전히 독립된 객체들이다.

'JAVA' 카테고리의 다른 글

싱글톤(Singleton)  (0) 2019.09.16
정적 멤버와 인스턴스 멤버  (0) 2019.09.16
클래스 구성 멤버들의 사용 및 오버로딩  (0) 2019.09.11
클래스의 구조  (0) 2019.09.10
객체지향 프로그래밍  (0) 2019.09.09
공지사항
최근에 올라온 글