Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 데이터베이스
- 자바
- 정수와유리수
- CNN
- 컴퓨터비전
- 중학1-1
- 머신러닝
- 정보처리기사실기
- 데이터입출력구현
- 코딩테스트
- pandas
- CSS
- 텍스트마이닝
- 자바 실습
- 파이썬
- JSP/Servlet
- 혼공머신
- 운영체제
- numpy/pandas
- 연습문제
- 딥러닝
- 컴퓨터구조
- 영어공부
- 데이터분석
- 중학수학
- SQL
- C++
- 파이썬라이브러리
- html/css
- 정보처리기사필기
Archives
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
객체를 만드는 생성자 5 - 변수 유효 범위 본문
이제 3주차의 가장 마지막 이론 학습을 시작해보겠다. 지역 변수와 전역 변수에 대한 학습인 것 같다. 이 부분은 오후에 자바 책을 통해 공부했던 부분이니 비교적 쉽게 이해할 수 있을 것 같다.
이론 5 - 변수 유효 범위
괄호에서 시작해서 괄호로 끝난다. 자동으로 제거되므로 auto 변수라고도 한다.
지역변수와 static 변수를 이해해야 한다. 그 나머지는 멤버 변수인데 원하는 만큼만 쓰고 자동으로 제거해준다.
퀴즈 6 - 지역, 멤버, static 변수
한번은 틀린 답안을 제출했다가 두번째에서 맞추었다. 멤버변수와 지역변수가 헤깔렸는데, 멤버 변수는 인스턴스마다 값이 다른 것을, 지역 변수는 함수의 기능 구현을 위해 잠깐 사용하는 것이었다.
실습 5 - 변수 유효 범위 체크하기
첫 번째 도전
이렇게 썼더니 지시사항 2번에서 오류가 떴다. 그건 인스턴스 변수의 경우 객체를 통해 접근해야 한다는 것이다. 우리는 여기서 객체를 만들고 그 변수를 c라고 했으니 이걸로 접근해야 한다. 인스턴스 변수는 멤버 변수를 말하는 것이다. 즉 메소드에 필드로 선언된 변수이다.
클래스를 설계할 때, 클래스 내에 선언된 변수를 인스턴스 변수라고 부른다. 이 변수들은 클래스로부터 생성된 각각의 객체에 대해 독립적으로 존재한다.
인스턴스 변수의 주요 특징
- 객체별로 존재: 각 객체는 자신의 인스턴스 변수를 가지고 있다. 즉, 같은 클래스에서 생성된 두 객체가 있다고 해도, 그 객체들이 가진 인스턴스 변수는 서로 독립적이다.
- 클래스의 인스턴스(객체)가 생성될 때 할당: 인스턴스 변수는 객체가 생성될 때 메모리에 할당되며, 객체가 사라지면 메모리에서 해제된다.
- 클래스 내부에서 선언: 인스턴스 변수는 클래스 내부에서 선언된다. 그러나 메서드 내부가 아닌 클래스의 본체에 선언되어야 한다.
- 객체를 통해 접근: 인스턴스 변수는 해당 클래스의 객체를 통해 접근해야 한다. 클래스 이름으로 직접 접근할 수 없고, 반드시 객체가 필요하다.
class Car {
// 인스턴스 변수
String color; // 자동차의 색상
int speed; // 자동차의 속도
}
public class Main {
public static void main(String[] args) {
// Car 클래스의 인스턴스(객체)를 생성
Car myCar = new Car();
Car yourCar = new Car();
// myCar 객체의 인스턴스 변수 설정
myCar.color = "Red";
myCar.speed = 100;
// yourCar 객체의 인스턴스 변수 설정
yourCar.color = "Blue";
yourCar.speed = 80;
// 인스턴스 변수 출력
System.out.println("My Car color: " + myCar.color); // 출력: Red
System.out.println("My Car speed: " + myCar.speed); // 출력: 100
System.out.println("Your Car color: " + yourCar.color); // 출력: Blue
System.out.println("Your Car speed: " + yourCar.speed); // 출력: 80
}
}
- 인스턴스 변수는 객체의 상태를 저장하는 변수로, 각 객체는 자신만의 인스턴스 변수를 갖는다.
- 이 변수를 통해 객체의 고유한 속성을 관리할 수 있다.
다시 풀어보기
이제 출력이 잘 되었다.
학습을 마치고
이로써 마지막 단원 학습을 마쳤다. 미션 문제 두 문제가 남아있는데 그건 다음 포스트에서 이어서 풀어보려고 한다. 여기까지 오느라고 정말 수고가 많았다.
'프로그래밍 언어 > 자바' 카테고리의 다른 글
클래스와 객체 14 - static 멤버 1 : static 멤버의 생성 및 활용 2가지 방법 (0) | 2024.08.19 |
---|---|
객체를 만드는 생성자 6 - 미션 문제 풀기 (0) | 2024.08.18 |
객체를 만드는 생성자 4 - static 메소드 (0) | 2024.08.18 |
객체를 만드는 생성자 3 - static 변수 (0) | 2024.08.18 |
클래스와 객체 13 - 접근 제한자 (0) | 2024.08.18 |