목표 달성
- 변수의 유효범위를 구분할수 있다.
클래스변수(static 변수) , 인스턴스변수, 지역변수(일회용변수)
트러블 슈팅
▶ 현상 : Scanner가 정상적으로 작동하지 않음
▶ 원인 : Scanner를 생성할 때 소스코드에 ""가 입력되어 있음
▶ 해결책 : ""을 제거하니까 클래스 파일이 적상적으로 작동함
Scanner sc = new Scanner(System.in);
▶ 현상 : 오류X => 오류가 생길 가능성이 높은 소스
▶ 원인 : 지역변수가 초기화되지 않았다
▶ 해결책 :
void method(){int a = 0; System.out.println(a); } //지역변수 초기화 해주기
수업 내용 요약 정리
▶ 생성자(Constructor)
- 인스턴스를 초기화 하는 메서드
- 기본생성자
- 파라미터 생성자
▶ 변수의 유효범위
- 해당 변수를 사용할 수 있는 범위 또는 공간,지역
- 멤버변수(필드)의 유효범위 : 해당 클래스 내에서 사용가능
- 일반 지역변수(local variable)의 유효범위
* 해당 메소드 내에서만 사용가능
* 메소드 안으로 들어갈 때 메모리가 할당괴고 메소드 밖으로 나가면서 메모리가 삭제
* 멤버변수(필드)보다 지역변수의 우선 순위가 높음
* stack area가 메모리 위치
▶ 깊은 복사(Deep Copy) VS 얕은 복사(Shallow Copy)
- 깊은 복사 : '실제 값'을 새로운 메모리 공간에 복사.
- 얕은 복사 : '주소 값'을 복사.
* 얕은 복사가 주소 값을 복사하기 때문에 참조하고 있는 실제값은 깊은 복사와 같다.
* 하지만 얕은 복사는 주소값을 복사한 것이기 때문에 깊은 복사에서 새롭게 할당한 메모리 주소값과는 다르다.
▶ 예제 017 코드 리뷰
오늘의 소감
동일한 출력화면일지라도 그것을 생성하는 방법은 무궁무진하다고 느꼈다.
그 때문에 배워야 하는 것이 나날이 늘어간다.
미니 프로젝트 뱅크도 벌써 Version 8이다.
분명 같은 출력화면인데 소스코드를 보면 구성이 전혀 다르다....아주 희안하다...
'Java 실습' 카테고리의 다른 글
[220530] (0) | 2022.05.31 |
---|---|
[220527] 접근제한자(Acess Modifier) (0) | 2022.05.29 |
[220524]Class_수정하기 (0) | 2022.05.24 |
[220523] Method, JavaApi (0) | 2022.05.24 |
[220516 - 220520][주간 정리] 반복문, Method , 재귀 함수 (0) | 2022.05.22 |