본문 바로가기
프로그래밍/Java

0331

by minNa2 2023. 3. 31.

<this>
- 생성된 객체(인스턴스) 자기의 주소(참조, 레퍼런스)
- 생성된 객체(인스턴스)가 자기 자신을 호출하는 방식
- 클래스 구성 요소에 this 활용
필드 : this.필드
생성사 : this()   ->  생성자(constructor) 내부에서만 사용 가능


<static>
- 사전적 의미: 정적
- 정적: 미리 만듦
- 동적: 나중에 만듦 (new)

- 정적 멤버는 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 말한다.

 

- 객체마다 가지고 있어야 할 데이터라면 인스턴스 필드로 선언

- 객체마다 가지고 있을 필요성이 없는 공용적인 데이터라면 정적 필드로 선언

 

 

<static 동작>

- static 멤버(필드, 메소드)는 프로그램 실행 직전에 미리 만들어진다.

- 객체(인스턴스) 생성 되기 전에 미리 만들어진다.

- 객체(인스턴스) 생성(new) 없이도 만들어진다. (객체를 만들지 않아도 사용 가능)

- 하나의 static 멤버가 만들어지면 모든 객체(인스턴스)가 공유


<static 사용 이유>
- 모든 객체(인스턴스)가 공유하기 위해
- 객체(인스턴스) 생성 (new) 없이 클래스를 사용하기 위해


<static 멤버 접근 방식>    // 전에는 객체명.자원 이렇게 사용함
- 필드: 클래스명.필드명
- 메소드: 클래스명.메소드명()


<final> // 상수: 항상 같은 수 
- 상수에 언제든 값을 한번 저장하고 다음에 다시 바꾸지 않을 때 사용
- 상수, 메소드, 클래스에 사용 가능
    1) 상수: final 타입 상수명     --> 값 변경 X
    2) 메소드: final 반환타입 메소드명(매개변수){}     --> 오버라이드 X
    3) 클래스: final class 클래스명{}     --> 상속 X

★ static final: 값이 변하지 않는 클래스 상수(초기화 필요)




필드나 메소드 앞에 static이 있으면 객체 생성 X

반응형

'프로그래밍 > Java' 카테고리의 다른 글

0404  (0) 2023.04.04
0403  (0) 2023.04.03
0330  (0) 2023.03.30
0329  (0) 2023.03.29
0328  (0) 2023.03.28