728x90
반응형
인스턴스 멤버와 정적 멤버
클래스에 선언된 필드와 메소드가 모두 객체 내부에 포함되는 것은 아님.
객체가 있어야 사용 가능한 멤버가 있고, 그렇지 않는 멤버도 있음
인스턴스 멤버 : 객체마다 가지고 있는 멤버
- 인스턴스 필드 : 힙 영역의 객체마다 가지고 있는 멤버, 객체마다 다른 데이터를 저장
- 인스턴스 메소드 : 객체가 있어야 호출 가능한 메소드
클래스 코드(메소드 영역)에 위치하지만, 이해하기 쉽도록 객체마다 가지고
있는 메소드
this : 클래스를 메모리에 올렸을 때 인스턴스, 객체 자기 자신을 가리킬 때
정적 멤버(static) : 객체와 상관없는 멤버 클래스 코드(메소드 영역)에 위치
- 정적 필드 및 상수 : 객체 없이 클래스만으로도 사용 가능한 필드
- 정적 메소드 : 객체가 없이 클래스만으로도 호출 가능한 메소드
싱글톤(singleton) : 전체 프로그램에서 단 하나의 객체만 만들도록 보장하는 코딩 기법
- 싱글톤 작성 방법
final 필드 : 초기값이 저장되면 최종값이 되어 프로그램 실행 도중 수정 불가
final 필드의 초기값 주는 방법
- 단순 값일 경우 필드 선언 시 초기화(주로 정적 필드(상수))
- 객체 생성 시 외부 데이터로 초기화 필요한 경우 생성자에서 초기화(주로 인스턴스 필드)
인스턴스 final 필드
- 객체에 한 번 초기화된 데이터를 변경 불가로 만들 경우: ex) 주민 번호
정적 final 필드(관례적으로 모두 대문자로 작성)
- 불편의 값인 상수를 만들 경우
상수 : 불변의 값을 저장하는 정적 필드, final static 키워드로 선언
패키지
- 패키지의 물리적인 형태는 파일 시스템의 폴더
- 패키지는 클래스의 일부분으로, 클래스를 유일하게 만들어주는 시겨라 역할
- 클래스 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식
- 클래스의 전체 이름은 패키지 + 클래스 사용해서 표현
- 패키지 선언
import문
- 사용하고자 하는 클래스 또는 인터페이스가 다른 패키지에 소속된 경우
- 해당 패키지 클래스 또는 인터페이스 가져와 사용할 것임을 컴파일러에 통지
- 패키지 선언과 클래스 선언 사이에 작성
- 하위패키지는 별도로 import를 해야함
접근제한자(Access Modifier)
- 클래스와 인터페이스 및 이들이 가진 멤버의 접근 제한
- public 접근 제한자
- protected 접근 제한자
- private 접근 제한자
- default 접근 제한
클래스 접근 제한
- 같은 패키지 내에서만 사용할 것인지 다른 패키지 내에서도 사용할 수 있도록 할 것인지 결정
생성자의 접근 제한
- 생성자의 접근 제한에 따라 생성자 호출 가능 여부 결정
Getter와 Setter 메소드
- 외부에서 객체에 마음대로 접근할 경우 객체의 무결성 깨질 수 있음
- Setter 메소드
- Getter 메소드
728x90
반응형
'IT > 자바' 카테고리의 다른 글
자바 정리 - 타입 변환과 다형성 (0) | 2021.11.30 |
---|---|
자바 정리 - 상속 (0) | 2021.11.30 |
자바 정리 - 객체 지향 프로그램(OOP : Object-Oriented Programming) (0) | 2021.11.30 |
자바 정리 - 배열, 열거타입 (0) | 2021.11.30 |
자바 정리 - 타입 (0) | 2021.11.30 |
댓글