ch6-2 클래스와 객체
- 클래스의 정의: 클래스란 객체를 정의해 놓은 것
- 클래스의 용도: 클래스는 객체를 생성하는데 사용
- 객체의 정의: 실제로 존재하는 것. 사물 또는 개념
- 객체의 용도: 객체가 가지고 있는 기능과 속성에 따라 다름
<ch6-3 객체의 구성요소 - 속성과 기능>
객체지향개념은 원래 군사적인 용도로 만들어 졌다.
객체 = 속성(변수) + 기능(메소드)
<ch6-4 객체와 인스턴스>
객체: 모든 인스턴스를 대표하는 일반적 용어
인스턴스: 특정 클래스로부터 생성된 객체(예: tv인스턴스)
--> 두 단어는 거의 비슷한 용어이다
인스턴스화
클래스 ----------------------------> 인스턴트(객체)
Q. 클래스(설계도)가 왜 필요한가?
A. 객체(제품)를 생성하기 위해
Q. 객체가 왜 필요한가?
A. 객체를 사용하기 위해
Q. 객체를 사용한다는 것은?
A. 객체가 가진 속성(변수)과 기능(메소드)을 사용하려고
------------------------------------------------------------------------------------------------
<ch6-5 한 파일에 여러 클래스 작성하기>
- 자바는 대소문자 구별을 한다
-----------------------------------------------------------------
<ch6-6 객체의 생성과 사용>
1. 객체의 생성
클래스명 변수명; // 클래스의 객체를 참조하기 위한 참조변수를 선언
변수명 = new 클래스명(); // 클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장
Tv t; // Tv클래스 타입의 참조변수 t를 선언
t = new Tv(); // Tv인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t에 저장
--> 대입연산자를 통해 리모콘과 객체를 연결해주어야 한다.
(참조변수 = 리모콘)
2. 객체의 사용
객체를 사용한다는 건 객체가 가지고 있는 변수와 메소드를 사용한다는 의미이다
t.channel = 7; Tv인스턴스의 멤버변수 channel1의 값을 7로 한다.
t.channelDown(); // Tv인스턴스의 메소드 channelDown()을 호출한다.
System.out.println("현재 채널은" + t.channel + "입니다.");
1)클래스 작성 --> 2)객체 생성 --> 3)객체의 사용
Tv t; // Tv클래스 타입의 참조변수 t를 선언
t = new Tv(); // Tv 인스턴스를 생성한 후, 생성된 Tv 인스턴스의 주소를 t에 저장
리모콘 없이 객체를 다룰 수 있는 방법은 없다! 꼭 리모콘(참조변수)가 필요하다. 생성된 객체와 리모콘은 대입연산자를 통한 연결이 필요하다.
t.channel = 7; // 변수 사용. Tv인스턴스의 멤버변수 channel1의 값을 7로 한다
t.channelDown(); // 메소드 사용(메소드 호출) Tv인스턴스의 메소드 channelDown()을 호출한다
System.out.println("현재 채널은" + t.channel + "입니다.");
-GC 가비지 컬렉터: 사용할 수 없는 객체들을 제거한다. 불필요하게 메모리가 낭비되지 않도록