250x250
Notice
Recent Posts
Link
관심쟁이 영호
JAVA ㅣPrivate? ㅣ변수에 Private를 설정하는 이유? 본문
반응형
코딩을 하다보면, public이라는 단어를 가장 먼저 사용했을 것이다.
근데 다른 사람들의 코드를 보면
private를 자주 볼 수 있다.
얼핏 공부하기로는 public은 모든 곳에서 접근할 수 있다고 한다.
근데 왜 굳이 코딩이 힘들게 private를 설정해두었을까??
그것은 객체지향적 설계 때문이라고 할 수 있다.
코드를 예시로 살펴보자!
Member 객체로 생성된 bob이라는 사람이 있다.
state는 배고픔의 상태이다.
배고픔의 상태가 50보다 낮다면, 배를 채우라는 의미로 +10을 해주었다.
객체지향 관점에서는 타객체의 변수에 접근할 때, 변수에 바로 접근하면 안된다.
이 코드를 객체지향 관점으로 해보자.
Member 객체에 eat() 이라는 함수를 생성하였다.
eat 함수의 내용으로 state +10을 해주도록 하였다.
그리고 메인함수로 돌아와서
bob.eat()으로 함수를 호출하여 bob의 배고픔을 채워주었다.
이렇게 코드를 짜야한다.
그러면
왜 객체지향적으로 코드를 짜야할까?
1. 많은 사람과 협업을 할 때, 이러한 함수를 지정해두면 아주 편하다.
2. 객체 지향적이라면, 각 객체마다 모든 기능을 다 가지고 있어야 한다.
아직 더 많은 설명을 하기에는 부족하지만
어쨋든,
객체지향적으로 코드를 짜야 더 편하고 더 좋고 돈도 덜 들기 때문일 것이다.
300x250
'학교공부 > 자바의 왕!' 카테고리의 다른 글
[JAVA] 인터페이스 ㅣ Interface (1) | 2021.05.22 |
---|---|
[JAVA]추상클래스와 추상메서드에 대해서! ㅣ Abstract (0) | 2021.05.21 |
[Callback Method] 콜백함수? ㅣ 자바에서는 어떻게 써야할까? (0) | 2021.03.24 |
JAVA - int to String ㅣ double to String ㅣ float to String ㅣ 정수 -> 문자열 ㅣ double -> 문자열 ㅣ float -> 문자열 (0) | 2020.12.01 |
JAVA - String to int ㅣ 문자열 -> 정수 ㅣ ParseInt (0) | 2020.11.30 |
0 Comments