🍏 개발일기

클래스 | 공유자원

보배 진 2025. 10. 17. 09:40

공유자원

멤버변수와 다르게,

객체마다 다른값을 가지지않고,

모든 객체가 값을 공유

  == 즉, 객체와 무관하다 = static

 

 

 

final : 상수화, 값을 고정

값 변경을 시도하는 경우 에러가 발생한다

공유자원은

this : 자기자신 객체

 

 

멤버변수 : name, radius, area   -> 객체의 것, 객체마다 다른 값

클래스 변수(공유자원) : PI        -> 클래스의 것, 클래스에 종속!! ,모든 객체가 같은 값을 가져야 하는 경우

 

 

 


 

 

 

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

 

 

 

즉, b는 클래스 변수이기 때문에 

객체가 아닌 클래스명으로 호출하여 사용한다

 

 


 

더보기

객체지향언어의 4가지 특징

추상화

캡슐화(정보은닉)

상속

다형성

추상화

내가 어떻게 설계를 하느냐에 따라 다른 값이 나올 수 있다


상속 

extends

부모의 것을 자식이 사용할 수 있다

 

다형성 

같은 함수(메서드)를 수행하더라도

주체(주어)가 누구냐에 따라

다른 output이 나오는 현상

 

캡슐화(정보은닉)

1) 묶음으로 코드를 구현한다는 특징 >> 재사용 용이

2) 오류의 파급효과 절감, 개발 시간 및 비용 단축

3) 코드묶음 안의 내용을 몰라도 개발 가능

4) 코드묶음 안의 내용을 몰라도 사용법을 알면 호출하여 사용가능함

 

 

 

 


 

 

 

 

 

멤버변수에 private 키워드를 붙이면 밑에서 객체가 호출했을 때 에러가 발생한다 정보은닉!! 캡슐화!!

 

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

 

setter 메서드 추가 getter 메서드 추가

외부에서 값을 줄 때 : setter

외부에서 값을 받을 때 : getter

 

 

getter, setter 쉽게 추가하기