클래스와 객체
클래스의 정의 : 클래스란 객체를 정의해 놓은 것
클래스의 용도 : 클래스는 객체를 생성하는 데 사용
객체의 정의 : 실제로 존재하는 것, 사물 또는 개념
객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름
클래스 | 객체 |
제품 설계도 | 제품 |
객체의 구성요소 - 속성과 기능
객체 = 속성(변수) + 기능(메서드)
속성 | 크기, 깊이, 높이, 색상, 볼륨, 채널 등 |
기능 | 켜기, 끄기, 볼륨 높이기, 볼륨 낮추기, 채널 변경하기 등 |
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 |