05 클래스와 객체
● 클래스와 객체의 정의와 용도
○ 클래스
■ 정의 : 객체를 정의해 놓은 것
■ 용도 : 객체를 생성하는 데 사용
○ 객체
■ 정의 : 실제로 존재하는 것, 사물 또는 개념
■ 용도 : 객체가 가지고 있는 기능과 속성에 따라 가능
■ 유형의 객체(사물), 무형의 객체(논리나 개념)
○ 클래스를 잘 만들어 놓으면 객체 생성할 때 고민이 줄어든다!
● 객체와 인스턴스
○ 인스턴스화 : 클래스로부터 객체를 만드는 것
○ 인스턴스 : 어떤 클래스로부터 만들어진 객체
○ ‘객체’보단 ‘인스턴스’가 좀 더 구체적인 의미를 가짐(이 클래스를 통해 만들어진 객체다!)
● 객체의 구성요소-속성과 기능
○ 속성 : 멤버 변수. 특성, 필드, 상태
○ 기능 : 메서드, 함수, 행위
○ 클래스로부터 객체를 생성하면 클래스에서 정의된 속성과 기능을 가진 객체가 만들어짐
● 인스턴스의 생성과 사용
○ 클래스명 변수명; -> 클래스 타입의 참조변수를 선언함. 메모리에 참조변수를 위한 공간이 할당됨
변수명 = new 클래스명( ); -> new 연산자에 의해 클래스의 인스턴스가 메모리 빈 공간에 생성됨
대입 연산자에 의해 인스턴스의 주소값이 참조변수에 저장됨
○ 인스턴스의 멤버변수를 사용할 때 참조변수.멤버변수! (C언어의 멤버연산자 . 와 유사)
○ 인스턴스는 참조변수를 통해서만 다룰 수 있고 참조변수 타입은 인스턴스 타입과 일치해야 함
○ 같은 클래스로부터 생성된 인스턴스의 멤버변수는 서로 다른 값 가질 수 있고 메서드는 동일
● 객체 배열
○ 참조변수들을 하나로 묶은 참조 변수 배열
○ 객체를 생성해 객체 배열의 각 요소에 저장해줘야 함
○ 다형성을 통한 다양한 객체를 한 배열에 담을 수 있음(배열은 같은 자료형으로 모인 구조!)
● 클래스의 또 다른 정의
○ 데이터와 함수의 결합
■ 변수와 함수를 하나의 클래스에서 정의해 서로 관계가 깊은 변수와 함수를 함께 다룰 수 있음
○ 사용자 정의 타입
'JAVA > 이론' 카테고리의 다른 글
[java][이론] 007 생성자와 변수의 초기화 (0) | 2020.07.04 |
---|---|
[java][이론] 006 변수와 메서드 (0) | 2020.07.02 |
[java][이론] 004 배열 (0) | 2020.06.29 |
[java][이론] 003 조건부 흐름 제어 및 반복문 (0) | 2020.06.25 |
[java][이론] 002 연산자 (0) | 2020.06.25 |