클래스 | 객체 |
---|---|
설계도 | 제품 |
속성(변수) | 크기, 길이, 높이, 색상, 볼륨, 채널 등 |
---|---|
기능(메서드) | 켜기, 끄기, 볼륨 높이기, 볼륨 낮추기, 채널변경, 등 |
class Tv {
// 변수
String color;
boolean power;
int channel;
// 메서드
void power() {
power = !power;
}
void channelUp() {
channel++;
}
void channelDown() {
channel--;
}
}
객체 : 모든 인스턴스를 대표하는 일반적 용어
인스턴스 : 특정 클래서로부터 생성된 객체(ex) Tv인스턴스)
클래스 ---인스턴스화---> 인스턴스(객체)
설계도 --- 제품생성---> 제품 사용
Q1. 클래스가 왜 필요한가?
A1. 클래스(설계도), 객체(제품)를 생성하기 위해
Q2. 객체가 왜 필요한가?
A2. 객체(제품)를 사용하기 위해
Q3. 객체를 사용한다는 것은?
A3. 객체(TV)가 가진 속성(변수)과 기능(메서드)을 사용하는 것
올바른 작성 예
|
public class가 있는 경우, 소스파일의 이름은 반드시 public class의 이름과 일치해야 한다. | ||
|
public class가 하나도 없는 경우, 소스파일의 이름은 class의 이름 중 아무거나 가능하다. 즉, 'Hello2.java', 'Hello3.java' 둘 다 가능하다. |
잘못된 작성 예
|
하나의 소스파일에 둘 이상의 public class가 존재하면 안된다. 각 클래스를 별도의 소스파 일에 나눠서 저장하던가 아니면 둘 중 한 클래스에 public을 붙이지 않아야 한다. |
||
|
소스파일의 이름이 public class의 이름과 일치하지 않는다. 소스파일의 이름을 'Hello2.java'로 변경해야 맞다. |
||
|
소스파일의 이름과 public class의 이름이 일치하지 않는다. 대소문자를 구분하므로 대소문자까지 일치해야한다. 그래서, 소스파일의 이름에서 'h'를 'H'로 바꿔야 한다. |
ex) Hello2.java
// 하나의 소스파일(*.java)에는 하나의 클래스만 작성하는것이 바람직
public class Hello2 {} // 소스파일 이름은 public class이름과 일치
class Hello3 {} // 하나의 소스파일에는 하나의 public class만 허용
class Hello4 {}