// 남궁 성의 자바의 정석 듣는 중//
파이썬 챌린지 시작하니깐.. 자바 강의를 미루게 돼...
섞이면 안되는 데 ㅎ.
정처기도 시험 준비 시작...ㅎㅎㅎ
시르다..
- 객체는 참조 변수를 통해서 사용할 수 있기 때문에 무조건
1) 참조 변수 선언 (리모컨 무조건 필요)
2) 객체 생성 후
3) 참조 변수에 객체 저장.
=> 걍 한 번에 예, Tv t = new Tv(); 로도 가능
- 크게 보면
1) 클래스 작성 (설계도)
2) 객체 생성 (제품)
3) 객체 사용 -> 변수랑 메소드를 사용 해서 호출함.
- 타입이 원래 존재 하던 게 아니라 Tv 리모컨이니깐 걍 Tv 타입으로 참조 변수를 만들어주고 대신 객체는 Tv타입이어야만 함.
- 반드시 둘이 일치되게 만들어 줄 것.
- 클래스에서 정의된 대로 객체를 만들었고, 객체를 사용하려면 무조건 참조변수를 거쳐야지만 사용이 가능함.
- 객체 . 뒤에 메소드랑 변수 모두 써서 사용 가능
- 메서드 사용을 메서드 호출이라고 부름.
- 만약에 중간에 t2 = t1을 넣어주면, t2의 참조변수와 객체의 연결이 끊겨서 t2는 사용할 수 없게 됨.
- t1, t2 모두 하나의 주소 값을 가리키게 됨. => 여러 개의 참조 변수가 1개의 객체를 사용할 수도 있음.
- 자바는 의미없어진 데이터를 알아서 청소해주는 GC(가비지 컬렉터) 지워줌.
- 변수는 무조건 하나의 값만 저장되므로 하나의 참조변수가 여러 개의 객체를 가리킬 수 X
- 반대는 가능
- 참조변수는 처음 생성 시 null이니깐 객체를 넣어 줌.
- 한 번에 배열로 넣을 수 있음. {} 사용.
- 객체 배열은 참조 변수 배열과 결국 같음
- 참조 배열만 만들고 끝내지 말고, 객체를 각각 할당해 줘야 함.
- 클래스는 객체의 설계도인 동시에 데이터와 함수의 결합임.
- 관련된 데이터를 다루는 함수를 같이 묶어 놓은 것.
- 클래스로 묶으면
1) 코드가 반복되는 것이 사라지고, 더 간결해짐.
2) 관련된 것끼리 강하게 묶을 수 있음.
3) 유지보수가 편해짐.
- 선언 위치에 따른 변수의 종류는 3개 : cv, iv, lv
- 클래스 영역에서는 선언문만 가능함.
- cv = static + iv
- 엄밀히 말하면 틀릴 수 있지만, 걍 객체는 iv를 묶어 놓은 것으로 생각하면 편함.
=> iv는 객체가 생성될 때 만들어지는 것!!!!
- CPU는 속도 차이 때문에 SSD/HDD에서 바로 파일을 못 불러오고 RAM(메모리)을 거쳐야만 함.
- SSD/HDD에서 RAM으로 파일을 보내는 게 로딩이고, 반대가 저장save임.
- cv는 클래스가 메모리에 로딩될 때 자동적으로 생기는 것이기 때문에 객체를 생성할 필요 X -> 아무때나 사용 가능.
- lv는 메소드 영역 안의 범위 scope에서만 적용.
- 공통으로 해야 하는 속성 앞에 static을 붙여줄 것.
- cv는 사용할 때 iv랑 똑같이 참조변수를 써도 되지만, 그보다는 클래스 이름으로 해야 나중에 iv랑 안 헷갈림.
- 참조변수로 써도 작동은 하지만 권장 X
'Web Developing > Java' 카테고리의 다른 글
[Java] 객체지향 언어 (0) | 2024.04.13 |
---|---|
[java] 배열 3 (0) | 2024.04.13 |
[java] 배열2 (0) | 2024.04.12 |
[Java] 배열 (0) | 2024.04.02 |
[Java] 조건문과 반복문: if, if else if, switch문 // for, while, do-while문 (1) | 2024.03.29 |