1. 변수의 종류: 자바에서 변수는 프로그램에서 데이터를 저장하고 조작하기 위해 사용된다. 변수는 데이터 타입에 따라 기본 변수와 참조 변수로 나뉜다. 기본 변수는 단순한 값을 저장하는 변수이고, 참조 변수는 객체의 주소를 저장하며 해당 객체에 접근할 때 사용된다.
int age = 25; // 기본 변수
String name = "John"; // 참조 변수
2. 멤버 변수 선언: 멤버 변수는 클래스의 일부로서 클래스 내부에서 선언되는 변수를 의미한다. 멤버 변수는 해당 클래스의 객체가 생성될 때마다 인스턴스화되어 객체의 상태를 나타낸다. 멤버 변수는 기본값으로 초기화되며, 명시적으로 초기화할 수도 있다.
class Car {
// 멤버 변수 선언
String brand;
int year;
// 생성자
Car(String brand, int year) {
this.brand = brand;
this.year = year;
}
}
위의 예제에서 Car 클래스는 brand와 year라는 멤버 변수를 가지고 있다. 객체가 생성될 때마다 각 인스턴스의 brand와 year 값이 독립적으로 관리된다.
3. 필드(Field): 자바에서 "필드"는 주로 멤버 변수를 가리키는 용어로 사용된다. 클래스의 필드는 해당 클래스의 속성을 나타내며, 객체의 상태를 유지한다. 필드는 주로 접근 제어자를 사용하여 접근 권한을 조절할 수 있으며, 캡슐화를 통해 객체의 내부 상태를 보호한다.
public class Student {
// 필드 선언
private String name; // private으로 접근 제어하여 외부에서 직접 접근 불가
private int age;
// 생성자
public Student(String name, int age) {
this.name = name;
this.age = age;
}
// Getter 및 Setter 메소드
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
위의 예제에서 Student 클래스의 name과 age는 필드로 선언되었으며, private 접근 제어자를 사용하여 외부에서의 직접적인 접근을 막았다. Getter와 Setter 메소드를 통해 필드에 간접적으로 접근할 수 있게 했다.
자바의 변수는 프로그램의 기본 구성 요소이며, 멤버 변수와 필드는 객체지향 프로그래밍에서 객체의 상태를 관리하고 유지하는 데 중요한 역할을 한다. 변수의 종류와 사용 방법을 이해하면 객체를 더 효과적으로 모델링하고 프로그램을 구조화할 수 있다.
- 따로 공부한 내용들
변수의 종류
Type
*기본형
*참조형
Scope(변수의 범위)*지역 변수 : 클래스 전체에서 쓸 수 없는 변수, 특정한 구간에서 쓸 수 있는 변수, 선언 되어진 메소드 내부에서만 사용되는 변수*멤버 변수 : 클래스 전체에서 다 쓸 수 있는 변수
필드(멤버변수) 선언 형식(필드,멤버 변수 같은 말 x)
public(접근 제한자) int(타입) speed;(이름)-접근제한자-private : 객체 자신만 사용 가능하다. 클래스 내부에서만 접근 가능하다.-public : 아무나 사용가능하다. 모든 클래스가 접근 가능하다.(90%이상 private, public 사용됨)-protected
필드의 사용 범위
Ex)
Public class Date {
public void printDate() {
System.out.println(***);
}
public int getDay() {
return day;
}
//필드선언
private int tear; -멤버변수
=>필드의 정의된 위치와 상관없이 클래스 안에서는 순서 상관없이 사용 가능하다.
필드의 초기화
-필드값은 선언과 동시에 초기화 될 수 있다.
Ex)
Public class ClassRoom {
public int capaciy = 60 ; //60으로 초기화
}
*필드의 초기값이 지정되지 않았을 때
변수가 메모리에 올라가려면 값이 있어야한다.
숫자 : 0
논리형 : flase(boolean)
참조형 : null
setter / getter
class Some {
private int num = 2;
// 대입 : setter
public void setNum(int newNum) {
num = newNum;
}
// 가지고 오기 : getter
public int getNum() {
return num;
}
}
*setter와 getter를 쓰면 멤버변수 값이 변경 가능하다.
private를 쓰는 이유 : 객체 내부에서만 바꿀 수 있기 때문에 허락을 받아야한다.
'프로그래밍' 카테고리의 다른 글
[Java]상속, 메소드 재정의, Override, 중복정의와 재정의 차이 (0) | 2021.10.25 |
---|---|
[Java]메소드 호출, 중복 메소드, UML (0) | 2021.10.23 |
[Java]인수/매개변수, 객체/참조변수, 객체의 소멸 (0) | 2021.10.21 |
[Node.js] 배열 (0) | 2021.10.18 |
[Java]클래스/객체, 참조 변수, 메소드 (0) | 2021.10.18 |