-
클래스와 객체Programming/JAVA 2020. 5. 14. 21:27
클래스는 객체를 만들기 위한 용도인 것이고, 객체를 정의해 놓은 것.
ex) 나는 노트북(객체)가 필요하다. 하지만 노트북 설계도(클래스)가 필요한 것이 아니다. 그래서 설계도(클래스)를 잘 만 들어 놓으면 노트북(객체)을 만들 때 훨씬 더 수월하게 만들 수 있다. 우리는 그 과정을 인스턴스화라고 한다. 그리고 그 객체를 그 클래스의 인스턴스라고 호칭한다.
사용자정의타입의 기본
인스턴스의 생성 방법
일단 첫번째로 TV t=new TV()로 TV클래스의 참조변수 t를 선언해주어 인스턴스를 생성했다.
두번째로는 멤버 변수들이 (POWER, COLOR, CHANNEL) 초기화 되었을 것이다.
세번째로는 참조변수.멤버변수 형태를 이용해서 참조변수 t에 저장된 주소에 있는 인스턴스의 멤버변수 channel에 7을 저장해주었다(t.channel = 7;)
마지막으로 참조변수 t가 참조하고 있는 메서드를 호출해서 channel 변수의 값을 전위연산자(--)로 1 감소시켜줍니다.
※ 만약 객체를 2개 만들었을 경우(t1,t2 인스턴스가 생성이 되었다고 할 경우), t1=t2; 코드를 한줄 넣어주면 t1은 기존에 있던 주소값을 상실하고 t2의 주소값을 가지게 된다. 그 이후로 인스턴스 사용시 t2의 값이 바뀌면 t1의 값도 자동으로 바뀌게 된다.
객체도 배열로 관리가 가능하다?
길이가 3인 객체 배열 tvArr을 생성한다.
Tv[] tvArr = new Tv[3];
그리고 객체배열 안에 객체를 저장해주어야 한다.
tvArr[0] = new TV();
tvArr[1] = new TV();
tvArr[2] = new TV();
그러면 후에 T.channel 이 아닌 각각의 tvArr[i].channel=값; 이렇게 활용도 할 수 있다.
아직 제어자에 대해서 배우지 않았지만 간단한 클래스와 인스턴스의 개념을 배우면서 예를 든 클래스를 따라서 타이핑 해봤다.
'Programming > JAVA' 카테고리의 다른 글
오버라이딩(overriding) (0) 2020.06.09 상속(inheritance) - 중간 저장 (0) 2020.06.08 오버로딩 (overloading) (0) 2020.05.28 멤버 변수 (스크랩) (0) 2020.05.28 변수와 메서드 (0) 2020.05.18