기록

*13일차 본문

학원/강의

*13일차

pringspring 2022. 2. 9. 09:37

@final

-변하지 않는 특정한 것을 정할 때 사용

-하나의 값만 계속 저장해야 하는 변수에 사용

-사용될 수 있는 곳 : 클래스 메소드 변수(지역,멤버)

-사용에 따른 의미

  1. 클래스: 변경될 수 없는 클래스, 확장될 수 없는 클래스
  2. 메소드: 변경될 수 없는 메소드, 오버라이딩을 통해 재정의 될 수 없다.
  3. 변수: 값을 변경할 수 없는 상수

 

@변수별 생명주기

  1. 클래스변수: 프로그램 시작 시 생성 ( 프로그램 최초 사용시 = 동적로딩) ~ 종료
  2. 인스턴스변수: 객체 생성(new연산자 사용시기) ~ 객체 소멸 (참조가 끊어졌을때 실제로는 garbage collection에 의해 반환)
  3. 지역변수: 메소드 호출시 생성 ~ 반환시 제거

 


@필드

: 변수는 선언 위치에 따라 나눠짐(사용위치가 아님)

 

캡슐화

 

 

@변수

  1. 전역변수(global variable,field)

    -클래스 영역에 선언

    -접근제한자 사용

   

    1)static field

      -클래스 변수 - 클래스별로 지정해서 객체간 공유

      -클래스변수는 "클래스이름.변수명"

    2)non-static field

       a.멤버변수

       b.인스턴스 변수 

         -객체별로 지정해서 따로 관리

파란색부분

 

2.지역변수(locla variable) 

 

-메소드 영역에 선언

-접근제한자 없음

-매개변수도 지역변수

빨간색 부분

 

3.초기화블럭: 필드값 세팅을 위한 코드 작성 구간

실행코드는 무조건 메소드 내 있을 것

 

4.멤버변수 값대입 순서

 a.타입별 기본값 (선언부에 값대입 하지 않은 경우)

 b.초기값 (선언부에 초기화 한 경우)

 c.초기화 블럭 설정값

 d.생성자에서 설정값

 

4-2.클래스변수 값대입순서

 a.타입별 기본값

 b.초기값

 c.static 초기화 블럭 설정값

 

 

5.생성자

 -return타입 없음

 -클래스명과 생성자메소드명은 동일

 

'학원 > 강의' 카테고리의 다른 글

*15일차  (0) 2022.02.11
*14일차(생성자)  (0) 2022.02.10
*12일차 ncs (수강생 평가) -필기  (0) 2022.02.08
*11일차(객체)  (0) 2022.02.07
*10일차  (0) 2022.02.04