클래스 작성 예시
Hello2.java
public class Hello2 { }publicclass Hello3 { }
public class가 있는경우, 소스파일의 이름은 반드시 public class의 이름과 일치해야한다. (대소문자까지 일치)
* 하나의 소스파일에 둘 이상의 public class가 존재하면 안된다. 각 클래스를 별도의 소스파일에 나눠서 저장하던가 아니면 둘 중의 한 클래스에 public를 붙이지 않아야 한다.
Hello2.java
class Hello2{ }
class Hello3{ }
public class가 하나도 없는 경우, 소스파일의 이름은 'Hello2.java', 'Hollo3.java' 둘 다 가능하다.
객체의 생성과 사용
1. 객체의 생성
클래스명 변수명; //클래스의 객체를 참조하기 위한 참조변수를 선언
변수명 = new 클래스명(); //클래스의 객체를 생성한 후, 객체의 주소를 참조변수에 저장
TV t; //TV클래스 타입의 참조 변수 t를 선언
t = new TV //TV인스턴스를 생성한 후, 생성된 TV인스턴스의 주소를 t에 저장
2. 객체의 사용
▶ 객체가 가지고 있는 변수와 메서드를 사용
t.chanmel = 7; //TV인스턴스의 멤버변수 channel 의 값을 7로 한다.
t,channelDown(); //TV인스턴스의 메서드 channelDown()을 호출한다.
System.out.println("현재 채널은" + t.channel + "입니다.");
클래스 작성 -> 객체의 생성 -> 객체의 사용
TV t; //TV 클래스 타입의 참조변수 t를 선언
t = new TV(); //TV인스턴스를 생성한 후, 생성된 TV인스턴스의 주소를 t에 저장
객체 2개를 생성
TV t1 = new TV();
TV t2 = new TV();
t1.channer = 7;
System.out,println("t1의 channel값은 " + t1.channel + "입니다.");
System.out,println("t2의 channel값은 " + t1.channel + "입니다.");
t1 = t2;
객체를 2개 생성했어도 별도의 저장공간을 만들어진다.
t1 = t2; 대입하면 t2의 200번지 주소공간을 t1에 대입이 되며 100번지공간이 바뀌게 되어 참조하고 있던 값들의 연결이 끊긴다.
즉 하나의 인스턴스를 여러개의 참조변수가 가리키는 경우는 가능하지만 여러 인스턴스를 하나의 참조 변수가 가리키는 경우는 불가능하다.
'객체지향' 카테고리의 다른 글
[상속] 상속 개념 (0) | 2021.11.03 |
---|---|
[객체지향] 인스턴스&static&지역변수 (0) | 2021.10.28 |
[객체지향] 클래스의 정의 (0) | 2021.10.26 |
[객체지향] 객체 배열 (0) | 2021.10.26 |
[객체지향] 1. 클래스와 객체 (0) | 2021.10.24 |