
공유자원은
멤버변수와 다르게,
객체마다 다른값을 가지지않고,
모든 객체가 값을 공유
== 즉, 객체와 무관하다 = static
final : 상수화, 값을 고정
값 변경을 시도하는 경우 에러가 발생한다
공유자원은
this : 자기자신 객체
멤버변수 : name, radius, area -> 객체의 것, 객체마다 다른 값
클래스 변수(공유자원) : PI -> 클래스의 것, 클래스에 종속!! ,모든 객체가 같은 값을 가져야 하는 경우


b는 공유자원이기 때문에 30번 라인에서 aaa02.b = 200을 할당했기 때문에
29번의 출력결과가 10 200 으로 출력된다

즉, b는 클래스 변수이기 때문에
객체가 아닌 클래스명으로 호출하여 사용한다
객체지향언어의 4가지 특징
추상화
캡슐화(정보은닉)
상속
다형성
추상화
내가 어떻게 설계를 하느냐에 따라 다른 값이 나올 수 있다
상속
extends
부모의 것을 자식이 사용할 수 있다
다형성
같은 함수(메서드)를 수행하더라도
주체(주어)가 누구냐에 따라
다른 output이 나오는 현상
캡슐화(정보은닉)
1) 묶음으로 코드를 구현한다는 특징 >> 재사용 용이
2) 오류의 파급효과 절감, 개발 시간 및 비용 단축
3) 코드묶음 안의 내용을 몰라도 개발 가능
4) 코드묶음 안의 내용을 몰라도 사용법을 알면 호출하여 사용가능함

만약 이름을 개명해서 멤버변수 값을 변경해야 하는 경우가 생긴다면??


외부에서 값을 줄 때 : setter
외부에서 값을 받을 때 : getter

'🍏 개발일기' 카테고리의 다른 글
| 오버로딩과 오버라이딩 | 동적바인딩 (0) | 2025.10.20 |
|---|---|
| 상속 | super() | 부모클래스 | 자식클래스 (0) | 2025.10.20 |
| 학생부 프로그램 (0) | 2025.10.15 |
| 매개변수(parameter)와 인수(argument)의 차이 (0) | 2025.10.14 |
| 오버로딩 | 오버라이딩 | 클래스 | 생성자 (0) | 2025.10.14 |