JAVA의 정석 강의를 들으며 공부하며 정리했습니다. 너무 자잘한 내용은 안적었습니다.
[자바의 정석 - 기초편] ch6-1 객체지향 언어
- 6, 7장이 제일 중요하니 반복해서 공부한다.
- 객체지향 규칙은 외워라. 그냥 a4용지에 적어서 외우기!!
[자바의 정석 - 기초편] ch6-2~4 클래스와 객체
- 클래스(설계도) : 객체를 정의하는 것. 객체 생성에 사용
- 객체(제품) : 실제로 존재하는 것. 객체가 가지고 있는 기능과 속성에 따라 용도가 달라짐. 객체 = 속성(변수) + 기능(메소드)
- 인스턴스 : 객체랑 똑같다. 다만, 객체는 모든 인스턴스를 대표하는 general한 용어이고, 인스턴스는 특정 클래스로부터 생성된 객체를 말한다.
Q. 클래스가 필요한 이유는?
A. 객체를 생성하기 위해
↓
Q. 객체는 왜 필요한가?
A. 객체를 사용하기 위해
↓
Q. 객체를 사용한다는 것은 무슨 의미?
A. 객체가 가진 속성과 기능을 사용하려고
[자바의 정석 - 기초편] ch6-5 한파일 여러 클래스 작성하기
하나의 소스 파일에 여러 클래스를 작성할 때 주의사항들
- public class의 이름과 소스파일의 이름은 서로 같아야 한다. 대소문자까지 같아야 한다.
- public class는 하나의 파일에 하나만 있어야 한다.
[자바의 정석 - 기초편] ch6-6, 7 객체의 생성과 사용
- 객체의 생성 : 객체를 다룰 땐 먼저 참조변수(리모콘 기능)가 필요하다. Tv t = new Tv(); 이때 t가 바로 리모콘 역할을 하는 참조변수이다. 저 코드로 리모콘 역할 t와 Tv역할 Tv()를 연결해주는 것이다.
- 객체의 사용 : 객체를 사용한다는 것은 객체가 가진 속성(변수)과 기능(메소드)을 사용한다는 것. 객체를 다룰 땐 반드시 리모콘을 통해서만, 즉 참조변수로만 객체를 다룰 수 있다.
- 객체마다 별도의 저장 공간을 가진다. ex. Tv t1 = new Tv(); 랑 Tv t2 = new Tv();는 서로 다른 객체가 만들어진다.
참고)
- 하나의 인스턴스를 여러개의 참조변수가 가리키는 것은 가능
- 하나의 참조변수가 여러개의 인스턴스를 가리키는 것은 불가능
- 안쓰는 객체는 참조변수가 없어서 사용이 불가능하므로 가비지컬렉터가 메모리에서 제거해준다.
[자바의 정석 - 기초편] ch6-8 객체배열
객체배열 == 참조변수 배열
Tv t1 = new Tv();
Tv t2 = new Tv();
Tv t3 = new Tv();
Tv [] tvArr = new Tv[3]; // 이거만 쓰면 참조변수들만 만들어준 것이라서 객체 배열을 꼭 만들어줘야한다.
tvArr[0] = new Tv();
tvArr[1] = new Tv();
tvArr[2] = new Tv();
[자바의 정석 - 기초편] ch6-9, 10 클래스의 정의
1. 클래스 = 설계도
지금까지 리모콘으로 설명한 것이 설계도 스타일임.
2. 클래스 = 데이터 + 함수
- 클래스 : 서로 관련있는 데이터뿐만 아니라 메소드도 함께 묶어놓은 공간
- 변수 : 하나의 데이터를 저장할 수 있는 공간
- 배열 : 같은 타입의 여러 데이터를 하나로 저장할 수 있는 공간
- 구조체 : 타입에 상관 없이 서로 관련된 여러 데이터를 하나로 저장할 수 있는 공간
3. 클래스 = 사용자 정의 타입
클래스는 사용자 정의 타입이다. 즉, 원하는 타입을 직접 만들 수 있다.
ex. 시간을 다루는 클래스를 정의해준다.
class Time{
int hour;
int minute;
int sccond;
}
'프로그래밍 문법 > Java' 카테고리의 다른 글
6장 객체지향 (3) 메소드 , 호출스택 (0) | 2024.03.10 |
---|---|
6장 객체지향 (2) 클래스변수 , 인스턴스변수 (0) | 2024.03.10 |
Java 연산자 (0) | 2024.01.07 |
자료형 long (Long과 long 차이) (0) | 2024.01.06 |
리터럴이란 ? (0) | 2024.01.06 |