programming language/Java

[Java] 01.클래스와 객체

NOHCODING 2021. 11. 28. 03:44
반응형

 

(1) 클래스와 객체의 정의와 용도 

    ① 클래스의 정의 : 클래스란 객체를 정의해 놓은 것 

    ② 클래스의 용도 : 클래스는 객체를 생성하는데 사용된다.

    ③ 객체의 정의 : 실제로 존재하는 것(사물 또는 개념)

    ④ 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라  다름

 

더보기

* 클래스는 단지 객체를 생성하는데 사용될 뿐, 객체 그 자체는 아니다. 

 * 객체를 사용하려면 클래스로부터 객체를 생성하는 과정이 선행되어야 한다. 

 

  1) 클래스와 객체의 예

클래스 객체
제품 설계도  제품
TV 설계도 TV
붕어빵 기계 붕어빵

 

(2) 객체와 인스턴스

    인스턴스화 : 클래스로부터 객체를 만드는 과정

    인스턴스  : 클래스로부터 만들어진 객체

 

 

(3) 객체의 구성요소 (속성과 기능)

     속성(property) : 멤버변수(member variable), 특성(attribute), 필드(fileld), 상태(state)

    기능(function) : 메서드(method), 함수(function), 행위(behavior)

 

     1) 객체의 구성요소 예시 (TV)

더보기

     속성(property) : 크기, 길이, 높이, 색상, 볼륨, 채널

     기능(function) : 켜기, 끄기, 볼륨 높이기, 볼륨 낮추기, 채널 변경하기 등 

class TV{

	String color;
    	boolean power;
        int channel;
        
        void power(){
        	power = !power;
        }
        
        void channelUp(){ 
        	channel ++ ;
        }
        
        void channelDown(){
        	channel--;
         }
}
//일반적으로 메서드보다는 멤버변수를 먼저 선언하고
//멤버변수는 멤버변수 끼리 메서드는 메서드끼리 모아 놓는 것이 일반적임

 

 

(4) 인스턴스의 생성과 사용

클래스명 변수명;		//클래스의 객체를 참조하기 위한 참조변수를 선언
변수명 = new 클래스명();	//클래스의 객체를 생성한 후, 객체의 주소를 참조변수에 저장
TV t;		// TV클래스 타입의 참조변수 t를 선언
t = new TV();	// Tv인스턴스를 생성한 후, 생성된 TV인스턴스의 주소를 t에 저장

 

 

(5) 객체 배열

     1) 객체의 배열 예시(TV)

TV[] tvArr = new TV[3]; 	// = Tv tv1, tv2, tv3;

//각 요소는 참조변수의 기본값인 null로 초기화 됨
//객체 배열을 생성하는 것은 그저 객체를 다루기 위한 참조변수가 만들어진 것일뿐

tvArr[0] = new Tv();
tvArr[1] = new Tv();
tvArr[2] = new Tv();


// 배열의 초기화 블럭을 사용한다면, 다음과 같이 한줄로 간단히 사용 가능 함 
TV[] tvArr = {new tv(), new tv(), new tv()};

//다뤄야 할 객체수가 많을 때는 for문을 사용하면 된다. 
TV[] tvArr = new TV[10000];

for(int i = 0; i < tvArr.length; i++){
	tvArr[i] = new TV();
}

 

반응형