클래스와 객체

 

 

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

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

 

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

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

 

클래스  객체
제품 설계도 제품

 

 

객체의 구성요소 - 속성과 기능

 

객체 = 속성(변수) + 기능(메서드)

 

속성 크기, 깊이, 높이, 색상, 볼륨, 채널 등
기능 켜기, 끄기, 볼륨 높이기, 볼륨 낮추기, 채널 변경하기 등

 

class TV {

	// 속성, 변수
	String color; // 색깔
    boolean power; // 전원상태
    int channel; // 채널 
    
    // 기능, 메서드
    void power(){
   		 power = !power;
    }
    void channelUp(){
   		 channel++;
    }
    void channelDown(){
   		 chennel--;
    }
}

 

 

 

 

 

객체와 인스턴스

 

객체 : 모든 인스턴스를 대표하는 일반적 용어

인스턴스 : 특정 클래스로부터 생성된 객체(ex : TV 인스턴스)

 

 

 

인스턴스화

 

 

 

 

클래스와 객체

 

 

클래스가 왜 필요한가?

: 객체를 생성하기 위해

 

객체가 왜 필요한가?

: 객체를 사용하기 위해

 

객체를 사용한다는 것은?

: 객체가 가진 속성과 기능을 사용하려고

 

 

 

 

하나의 소스파일에 여러 클래스 작성

 

올바은 작성 예 설명
Hello2.java
public class Hello2 {}
           class Hello3 {}
public class 가 있는 경우, 소스 파일의 이름은 반드시 
public class 의 이름과 일치해야한다.
Hello2.java
class Hello2 {}
class Hello3 {}
public class 가 하나도 없는 경우, 소스파일의 이름은
'Hello2.java', 'Hello3.java'
둘 다 가능하다.

 

잘못된 작성 예 설명
Hello2.java
public class Hello2 {}
public class Hello3 {}
하나의 소스 파일에 둘 이상의 public class 가 존재하면 안 된다. 각 클래스를 별도의 소스파일에 나눠서 저장하던가 아니면 둘 중의 한 클래스에 public 을 붙이지 않아야 한다.
Hello3.java
public class Hello2 {}
          class Hello3 {}
소스파일의 이름이 public class 의 이름과 일치하지 않는다.
hello2.java
public class Hello2 {}
           class Hello3 {}
소스파일의 이름과 public class 의 이름이 일치하지 않는다.
대소문자를 구분하기 때문이다.

 

 

 

객체의 생성과 사용

 

1. 객체의 생성

클래스명 변수명;

변수명 = new 클래스명();

 

TV t;

t = new TV();

 

2. 객체의 사용

t.channel = 7;

t.channelDown();

 

 

 

'JAVA > Chapter6' 카테고리의 다른 글

Ch6-24_참조형 매개변수  (0) 2022.02.13
Ch6-22_호출스택(call stack)  (0) 2022.02.12
Ch6-17_메서드의 호출  (0) 2022.02.11
Ch6-8_객체 배열  (0) 2022.02.11
JAVA - Ch6-1_객체지향 언어  (0) 2022.02.10
복사했습니다!