티스토리 뷰
1. Field
- 인스턴스 변수 ( or 멤버 변수 ) : 클래스( Class )에 포함된 변수로 클래스 안에 있는 모든 곳에서 접근 가능하다
-> 클래스의 전역 변수 - 지역 변수 : 메서드( Method )에 포함된 변수로 해당 메소드에서만 유효하다.
1-1. Field 선언
private 자료형 변수이름 [ = 초기값 ]
private int num;
private int num = 20 ; // 선언과 초기화 동시 진행
1-2. 메모리 구조
- 인스턴스 변수는 객체 안에 저장 ( heap )
- 지역 변수는 stack에 저장
1-3. 인스턴수 변수는 초기값 강제 설정
private int num;
private int num = 20 ;
num = 0
num01 = 20
1-4. 지역변수는 stack에 저장되므로 초기화 없으면 오류 발생
2. Method
클래스의 기능을 의미하여 Operation이라 한다.
2-1. Method 선언
자바제어자 반환 Type Method명( 매개변수 ) {
실행 문 ;
[ return 값 ] // 반환 type 이 void 이면 생략
}
- 매개변수 : 입력 매개 변수로 복수인 경우 , 로 구분 한다. ( 자료형(Type) 매개변수이름 [ , 자료형(Type) 매개변수 이름,… ] )
2-2. 자바 제어자
- 접근 지정자 : 접근 가능 범위 선언
- public, private, default, protected - static :
- 클래스의 멤버(필드, 메서드, 이너 클래스)에 사용
- 정적 멤버 ( Static Member )
- 객체 생성 없이 “객체명. 정적 멤버명“으로 사용 - final : 불변 값 표현
- 필드, 지역변수, 메서드, 클래스 앞에 위치하며 각 의미가 틀림 - abstract :
- 기능을 정의하지 않는 추상한 것을 상속받은 곳에서 구현
- 추상 메서드(abstract method ), 추상 클래스 ( abstract class )
접근 지정자 | 접근(사용) 가능 범위 |
public | 동일 패키지의 모든 메서드 + 다른 패키지의 모든 클래스 |
protected | 동일 패키지의 모든 메서드 + 다른 패키지의 자식 클래스 |
default ( or package ) | 동일 패키지의 모든 메서드 ( 접근 지정자 생략 가능 ) |
private | 동일 클래스 |
2-3. 메서드 오버 로딩 (Method Overloading)
메서드명과 입력 매개변수로 JVM은 메서드명은 같은데 입력 매개변수의 개수가 틀리면 다르게 인식하는 것을 이용하는 것으로 이것을 메서드 오버로딩 ( Method Overloading )이라 한다.
2-4. 가변 입력 매개 변수
MethodOverloading을 이용하면 매개변수 개수를 계속 만들어지는 단점을 극 복 하기 위해 동일 자료형으로 매개변수의 개수를 동적으로 지정해 줄 수 기능으로 매개변수는 배열로 인식한다.
3. 생성자(Constructor)
- 객체를 생성할 때 사용하는 기능으로 2가지의 문법적 규칙이 있다.
- 반드시 클래스명과 동일해야 하고 반환형이 없어야 한다.
- 클래스에 생성가가 없는 경우 컴파일러가 입력 매개 변수가 없는 기본 생성자를 추가해 준다.
- MethodOverloading을 사용하여 여러 매개 변수를 가질 수 있다.
4. this()
- 클래스 내의 다른 생성자를 호출할 때는 생성자 함수 내부의 첫 번째에 사용해야 한다.
- 클래스 내의 멤버 변수를 참조하는 경우는 this. 을 사용한다.
5. Inner Class
- 클래스 내부에 있는 클래스를 의미한다.
- 클래스 멤버 : 인스턴스 멤버 이너 클래스, 정적 멤버 이너 클래스
- 지역 변수 : 지역 이너 클래스로 한정적으로 사용 한다.
'Java > 기본' 카테고리의 다른 글
032. Java Class 상속 (0) | 2022.05.24 |
---|---|
031. Java 외부 구성 요소 (0) | 2022.05.16 |
029. 클래스 ( Class ) (0) | 2022.05.11 |
028. 객체 지향 프로그램 ( OOPL ) (0) | 2022.05.09 |
027. 자바 : 제어문 (0) | 2022.03.14 |