클래스 : '필드' + 생성자 + 메소드
1. 필드
-전역변수: 클래스 영역에 작성하는 변수로 같은 클래스 내에서 어디서든
호출이 가능하다.
-지역변수 : 메소드 실행시, 생성자, 제어문 등등, 클래스 영역을 제외한 특정한 구역({})
안에 생성되어 그 지역에서만 사용할 수 있는 변수
2. 전역변수
-멤버변수(인스턴스 변수)
생성 : new를 통해서 인스턴스(객체)생성시에 메모리 할당.
소멸 : 객체(인스턴스)가 소멸시 소멸
-클래스 변수(static 변수) : 클래스 영역에서 static이라는 예약어가 붙은 변수(static == 공유의 개념)
따로 객체를 만들지 않아도 끄집어내서 사용가능(공유)
생성 : 프로그램을 실행시에 static(정적 메모리 영역)에 할당
소멸 : 프로그램을 종료시
3-1.지역변수: 다시 사용하기 위해서는 반드시 초기화가 되어야 한다.(출력시 초기화 값없으면 오류)
생성:특정한 구역({}) 실행 시 메모리 영역에 할당(ex.메소드 실행 시)
소멸:특정한 구역({}) 종료 시 소멸(메모리 영역에서 제거)
3-2. 매개변수 (메소드의 괄호 안에 작성하는 변수 -> 일종의 지역변수)
(자료형 변수명, 자료형 변수명,......)
우선 선언만 해두는 것(나중에 메소드를 부를때 ()안에 자료형에 맞는 값을 넣어주면됨)
여러 자료형, 여러 값을 넣을 수 있음(단 선언해준 만큼 넣어야됨)
4.final(상수)
하나의 값만 계속 저장해야 하는 변수에 사용
final과 static은 같이 사용가능(예약어 중복 가능. 예약어끼린 위치 상관없음)
5. static final(==final static)
상수이면서 정적메모리에 보관하여 여러 객체가 공유할 목적으로 사용
public class 클래스() { (클래스 영역 시작)
(필드)
접근제한자 변수명; -> 멤버변수
접근제한자 final 변수명; -> 상수
접근제한자 static 변수명; -> 클래스변수(클래스 변수 역시 접근제한자에 따라 끌어다 쓸 수 있는 범위가 제한)
접근제한자 static final (= final static) 변수명(대문자);
접근제한자 클래스(){ <- 기본생성자
}
접근제한자 클래스(접근제한자 변수명){ 매개변수 생성자
this.변수 = 변수 (this.변수 : 필드 변수/ = 뒤의 변수는 매개변수(지역변수)를 의미
}
this : 모든 인스턴스 메소드에 숨겨진 채 존재하는 레퍼런스로 할당된 객체를 가리킴. 함수 실행시 전달되는 객체의 주소를 자동으로 받음
접근제한자 [예약어] 리턴형 메소드([자료형 변수명]){[=매개변수]
자료형 변수명2; -> 지역변수
자료형 변수명3 = 값;
//기능정의
System.out.println(변수명); -> 메소드 실행시 매개변수로 넣은 값 출력
System.out.println(변수명2); -> 초기화가 되어있지 않아서 오류
System.out.println(변수명3); -> 값 출력
}
} (클래스 영역 끝)
'JAVA > 변수 및 객체, 기타' 카테고리의 다른 글
메소드와 return, 오버로딩 (0) | 2019.12.15 |
---|---|
객체지향 3대 특성 (0) | 2019.12.15 |
클래스 (0) | 2019.12.15 |
객체란 (0) | 2019.12.15 |
연산자 (0) | 2019.12.13 |