개발/JAVA

09. JAVA 클래스 / 객체 생성 및 사용 / 접근지정자 / 전역, 지역 변수 / static : 네이버 블로그

joolog 2020. 6. 8. 13:37
728x90
반응형
 

09. JAVA 클래스 / 객체 생성 및 사용 / 접근지정자 / 전역, 지역 변수 / static

2019. 4. 10. 18:19

통계
 

1. 클래스

- 여러 타입의 데이터를 저장할 수 있는 자료형 (내가 만든 자료형)

- 객체의 설계도를 칭하며, 이 설계도로 만들어 낸 것을 객체 라고 한다

- 클래스의 멤버로는 멤버변수와 메소드등을 갖는다

ex)

접근지정자 [modifier] class 클래스명() {
// 클래스명은 대문자로 시작
접근지정자 자료형 멤버변수명;
접근지정자 반환형 메소드;
};

2. 객체의 생성 및 사용

* 객체 : 행동 + 성질(상태) => 메소드 + 변수

- 객체의 생성 (new 사용)

클래스명 변수명 = new 생성자();

3. 접근지정자

* 클래스와 클래스 간에 access 범위를 지정하는 기능

- 접근지정자를 붙일 수 있는 곳

접근지정자 [modifier] class 클래스명
접근지정자 final 자료형 멤버상수 = 초기값 : 접근지정자와 modifier는 순서는 상관없다
final 접근지정자 자료형 멤버상수=초기값
 
접근지정자 [modifier] 자료형 멤버변수;
접근지정자 [modifier] 반환타입 메소드명;
, class 앞에 붙일 수 있는 접근지정자는 public과 생략형만 붙일 수 있다.

- 접근지정자 범위 : private > package(생략형) > protected > public

ㄴ private : 자기 클래스 내에서만 접근 가능 (완전 접근 불가능 한건 아니지만 간접적으로 사용가능)

ㄴ package : 생략이 가능하며 같은 패키지 안에서만 접근 가능

ㄴ protected : 같은 패키지는 물론 다른 패키지여도 상속 관계가 있으면 접근가능

ㄴ public : 어디서나 접근 가능 (단, 다른 패키지에 있는경우 import를 해줘야 접근 가능하다


4. 전역 / 지역변수

* 전역 변수 (Global Variable)

- 자바에서 전역 변수는 클래스의 멤버변수와 같다

- 클래스 안에 main 메소드가 있기 때문에 클래스 안에서는 어디서든 사용 가능

- 별도의 초기화를 하지 않을 경우 default값으로 초기화 되어있음

(참조형 : null, 정수형 : 0. 실수형 : 0.0, 논리형 : false)

- 해당 클래스 안의 모든 메소드에서 사용가능

* 지역 변수 (Local Variable)

- 특정지역 (중괄호로 구분)에서 선언되어 그 지역에서만 사용되는 변수

- 메소드의 매개변수도 지역 변수에 해당

- 자동으로 초기화가 되지 않고 사용시 초기화 먼저 해야한다

- modifier 중에 final 만 붙일 수 있다


5. static

* 정적 멤버

- 정적 멤버는 클래스 명으로 접근 할 수 있다

- static의 메모리는 JVM에서 클래스를 로드하는 시점에 생긴다 (인스턴스형 보다 먼저 생성됨)

- 공통으로 사용할시 지정

- 접근 방법

class A {
static double PI = 3.14; // 정적멤버
}
 
public class B {
// 여기에서 PI로 접근하고 싶을때
// 인스턴스화 접근
A a = new A(); // 인스턴스화
a.PI
 
// 클래스 명으로 접근
A.PI
}

* 여러번 사용이 되어야 하는경우 인스턴스화를 진행하면 좋다 (메모리 사용률)


* 인스턴스형 멤버

- static이 붙지 않은 멤버는 인스턴스형 멤버

- 인스턴스화 해야 사용가능

- static도 불러올수 있지만 권장하지 않음

728x90
반응형