객체지향언어의 4가지 특징
- 캡슐화
- 상속
- 추상화
- 다형성
Class
- 객체를 정의해놓은 것
- 용도 : 객체를 생성하는데 사용
- 예) 제품설계도
Object
- 실제로 존재하는 것. 사물 또는 개념
-
예) 제품
- 객체 : 모든 인스턴스를 대표하는 일반적 용어
-
인스턴스 : 특정 클래스로부터 생성된 객체 (객체랑 거의 비슷한 개념)
- 클래스로 인스턴스(객체)를 만드는 과정을 인스턴스화라고 한다.
- 예를 들어 설계도를 보고 제품을 만드는 과정이라고 할 수 있다.
class 작성하기
-
public class가 있는 경우, 일반적으로 소스파일의 이름은 public class의 이름과 일치해야 한다.
-
public class가 없는 경우, 소스파일의 이름은 class의 이름 중 어느 것이든 가능하다.
-
보통 하나의 소스파일에 하나의 클래스를 작성하는 것이 바람직하다.
-
class이름과 소스파일 이름은 대소문자를 구분한다.
객체의 생성
클래스명 변수명;
변수명 = new 클래스명();
- 예) Tv remoteControllers = new Tv();
- remoteControllers는 참조변수고, new Tv()는 객체를 생성한다.
객체의 사용
- 변수 사용
- 예) remoteControllers.channel = 25; //Tv 인스턴스의 멤버 변수 channel의 값을 7로 한다.
- 메소드 사용
- 예) remoteControllers.channelDown(); //Tv인스턴스의 메소드 channelDown()을 호출한다.
객체배열 == 참조변수 배열
- Tv tv1, tv2, tv3;는 Tv[] tvArr = new Tv[3]과 같다. 길이가 3인 Tv타입의 참조변수 배열이다.
- tvArr[0] = new Tv(); tvArr[1] = new Tv(); tvArr[2] = new Tv(); 또는 Tv[] tvArr = {new Tv(), new Tv(), new Tv()};와 같이 객체를 생성해서 배열의 각 요소에 저장하는 것이다.