디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[질문] 자바에서 private의 개념 좀 확실히 잡아주세요

쿄스케갤로그로 이동합니다. 2010.08.17 23:20:21
조회 403 추천 0 댓글 32

카페에 질문하다가 여기다가도 질문합니다... 질문 내용+리플의 내용입니다

=--- 카페 질문내용 글----------
음 자바 입문하는 단계인데요... private가 어떤 용도로 쓰이는지는 알겠습니다.. 캡슐화라던가 정보은닉을 위해서라고 하는

 

건 이해가 됬고 메서드를 통해서만 호출할수 있다는 것도 알고 있습니다. 근데 왜 굳이 은닉을 하려는 것인가요?? 뭐 중요한

 

정보를 숨기기 위해서라는 답변을 들었지만... a란 클래스에 private를 걸고 중요정보를 넣어두고 이걸 호출하는 메소드를

 

지정하고 b란 클래스에서 a를 인스턴트화 한 후 메소드를 통하여 a클래스의 private된 정보를 보게 된다면 정보은닉이 안되

 

는거 아닌가요?? 아님 사용자가 암호를 입력한후 맞는 경우만 a클래스의 메소드를 실행시키게 한다고 해도.. 그냥 b 클래스

 

내에서 암호걸고 if문을 통해서 암호가 맞았을 경우에만 정보를 출력하게 만들면 안되나요?? *.java 파일을 *.class 파일로

 

만든다고 해도 class파일 뷰어같은게 있어서 파일 내용을 볼수 있다면 어차피 정보은닉이 안되지 않나요??

 

도대체 private를 통해 캡슐화 시킨다는 것이 어떻게 정보은닉을 한다는지 감이 안잡힙니다. a클래스의 중요 정보내용을

 

b클래스에서 바로 sop문을 써서 보는것과 a클래스의 메소드를 통해 보는것... 어차피 볼수 있는 내용은 똑같은데 정보은닉

 

을 어떤식으로 한다는지 궁금하군요. 질문이 너무 두서가 없지만 제 머리속이 복잡해서 -_- 질문 하는데도 정리가 되질 않는

 

군요..
-----------------
-----여기서 부턴 리플들과 다시 제가 질문한 내용-------

저하늘의별
2010/08/17 16:34

<U>답글</U>|<U>신고</U>

음... 우선 저도 말주변도 없고 잘 못하지만 그래도 한 말씀만 올리겠습니다.

여기서 말하는 정보은닉은 2가지를 뜻합니다.

1. 열람 및 수정 불가
2. 열람 가능 수정 불가

이렇게 됩니다.
중요한 정보라 해당 클래스 외에는 알 필요가 없는 경우가 있구요
정보가 다른 클래스도 필요한데 수정은 불가하게 하는 경우가 있구요

private을 안걸면 다른 클래스 에서 장난 칠 수도 있겠죠?

<INPUT value=1 type=hidden name=cmtid><INPUT value=rjsrrr type=hidden name=writerid>

<LI class="filter-30 board-box-line-dashed"></LI><LI>

근데 어차피 프로그램을 작성하는건 자기 자신인데 private를 안걸어도 다른 클래스에서 수정만 하지 않으면 되는거 아닌가요?? 프로그램을 작성하다 보면 자신도 모르게 썼던 변수를 또 쓸수 있어서 그런가요;;... 프로그래머가 자신이 짰던 프로그램에 대해 훤히 알고 있을텐데 다른 클래스에서 private가 걸려있지 않다고 조작을 할까요???... ;;; 어렵네요 ㅠㅜ

<INPUT value=2 type=hidden name=cmtid><INPUT value=keoerd type=hidden name=writerid></LI><LI class="filter-30 board-box-line-dashed"></LI><LI>

private 을 해놓지 않으면 상속을 받을 수가 있지 않습니까. 상속(is a 관계) 뿐만 아니라
포함시켜서 (has a 관계) 데이터에 접근하거나 조작할 수 있게 됩니다.
필드(데이터)에 접근이 가능하단 말입니다. 이것이 바로 캡슐화 되어 있지 않은 것이고, 은닉이 되있지 않은 상태인 것입니다. 그것이 private 을 사용하는 이유가 되겠습니다.

꼭 클래스에 private 을 거는 것만 생각하시면 안되고
멤버 필드에만 private 을 걸어도 캡슐화입니다.

<INPUT value=3 type=hidden name=cmtid><INPUT value=tranquil84 type=hidden name=writerid></LI><LI class="filter-30 board-box-line-dashed"></LI><LI>

본인이 만든 라이브러리를 다른 프로그래머가, 심지어는 얼굴도 모르는 사람이 갖다 쓴다고 생각해 보세요. 프로그램은 혼자만 만드는게 아닙니다.

<INPUT value=4 type=hidden name=cmtid><INPUT value=eminency type=hidden name=writerid></LI><LI class="filter-30 board-box-line-dashed"></LI><LI>

예를 들면 ms에서 보안업데이트를 하는 것도 private 이 안 달려 있어서 문제가 되는 경우를 수정하는 경우가 있죠.(어디선가 읽음)

<INPUT value=5 type=hidden name=cmtid><INPUT value=tranquil84 type=hidden name=writerid></LI><LI class="filter-30 board-box-line-dashed"></LI><LI>

오오 댓글을 보면서 도움을 받고 있습니다.

<INPUT value=6 type=hidden name=cmtid><INPUT value=ako0313 type=hidden name=writerid></LI><LI class="filter-30 board-box-line-dashed"></LI><LI>

음... 근데 어차피 소스를 보기 위해서라면 class파일은 java파일로 디컴파일 해서 볼수 있지 않나요?? 그렇게 해서 소스를 수정하면 정보은닉은 깨지게 되는거 아닌가요?? 디컴파일을 안한다는 가정하에.. 다른 사람이 제 소스를 상속 받는다고 해도 private이 걸려있지 않더라도 제가 쓴 변수명을 알지 못하면 조작이 불가능하지 않나요?? 제가 중요시 하는 정보를 변수 keoerd에 담았다고 쳐도 다른 사람이 제 클래스파일을 상속하더라도 제 변수의 이름을 모르면 어차피 정보은닉이 되는게 아닌가요...;; 아... 코딩을 많이 해보면 private가 이래서 꼭 필요하다... 라는걸 느낄수 있을지...
-----------------------------

모르겠습니다 ㅠㅜ 도대체 private를 왜 써야하는지.....

</LI>

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 어떤 상황이 닥쳐도 지갑 절대 안 열 것 같은 스타는? 운영자 24/05/20 - -
210455 C언어로 피라미드 그려야되는데 도와주세여ㅠㅠㅠㅠㅠㅠㅠㅠㅠ [6] ee(175.119) 10.10.03 249 0
210454 과제완성단계에서마지막관문에이르르다.. WEXITSTAT(status) [12] 푸갤뉴우비(118.216) 10.10.03 77 0
210453 디시 메인 타이틀 dcinside under attack IT is ㅈㅈ(218.150) 10.10.03 79 0
210452 내가 아저씨래... [3] 넉넉한터갤로그로 이동합니다. 10.10.03 81 0
210451 CISP라고 1986년에 프로그래밍 강좌하던거 있던데 [1] 금호족기(61.75) 10.10.03 55 0
210450 self 가 자기자신을 생성해준 클래스를 가리키는 거냐능. [3] df(168.131) 10.10.03 63 0
210449 서울대학교 외교학과 홈페이지 [1] 서울(124.254) 10.10.03 137 0
210446 객체지향형 구조를 쉽게 설명해야하는데 ㅠㅠ [16] 쭈리(112.145) 10.10.03 205 0
210444 clock() 함수 쓰는데 100분의 1초 까지밖에 표시가 안되~!! [1] 컴맹(211.217) 10.10.03 197 0
210443 어떡해 횽의 글을 읽고 [7] 넉넉한터갤로그로 이동합니다. 10.10.03 185 0
210441 칠리핫도그 퓨리님(147.6) 10.10.03 39 0
210438 아직도 타블로거리고 있었네 [1] ltw갤로그로 이동합니다. 10.10.03 79 0
210437 횽들 나 이것좀 풀어줘 [9] 상숑갤로그로 이동합니다. 10.10.03 96 0
210436 ㅇㅇ 환경변수 등록완료. [2] 설탕라면갤로그로 이동합니다. 10.10.03 87 0
210435 왠지 형수가 날 한심하게 보는거같다 [5] 개쉛기갤로그로 이동합니다. 10.10.03 163 0
210434 매트랩인데 소스 문제점좀 알려줘/ [2] 아가야엿먹자갤로그로 이동합니다. 10.10.03 153 0
210432 형들아 자바컴파일러어떻게실행시키는거임? [12] 설탕라면갤로그로 이동합니다. 10.10.03 111 0
210431 C 언어에서 배열길이를 입력받을때 동적할당을 꼭 해야합니까? [5] {(o)}문(118.37) 10.10.03 90 0
210430 c언어 고수님들 질문좀 받아주세요 [1] (175.124) 10.10.03 47 0
210427 내 외사촌누님 이야기 [4] 아주아슬갤로그로 이동합니다. 10.10.03 103 0
210426 결혼식 다녀왔음 [13] 아주아슬갤로그로 이동합니다. 10.10.03 112 0
210425 프갤러 다들 그만 문명하셨습니다. ㅜㅡ [1] Rhea갤로그로 이동합니다. 10.10.03 228 0
210424 이번주는 모니터링과 GM툴 개발이 서서히 시작되는데 [1] Rhea갤로그로 이동합니다. 10.10.03 405 0
210423 방금 이사님 전화받고 자다가 깼는데 [3] Rhea갤로그로 이동합니다. 10.10.03 119 0
210422 난 업무가 힘들때마다 이런 생각을 해 [6] Rhea갤로그로 이동합니다. 10.10.03 193 0
210420 오버니삭스가 최강인 이유 [4] Rhea갤로그로 이동합니다. 10.10.03 286 0
210419 난 넉넉한터 횽하고 조금 다른 생각인데 [8] 어떡해갤로그로 이동합니다. 10.10.03 90 0
210418 음악이나 듣자.. Rei@디씨갤로그로 이동합니다. 10.10.03 41 0
210416 저도 이거 보고 3초동안 가슴이 벌렁벌렁 했다는.... [1] 형들아(220.73) 10.10.03 137 0
210415 형들 요새 컴파일러 공부하는데 렉스에 대해 물어볼까해 [2] ㅁㄴㅇ(218.144) 10.10.03 356 0
210414 이거문제가 뭔가요..C.. 하악(118.37) 10.10.03 33 0
210412 이거 보고 3초 동안 존니 가슴 벌렁벌렁 했다능 [6] 분당살람갤로그로 이동합니다. 10.10.03 140 0
210411 프로그래밍 갤러들은 프로그래밍만함?? [1] 설탕라면갤로그로 이동합니다. 10.10.03 116 0
210410 미로 찾는 알고리즘을 미로 만드는 알고리즘으로 어떻게 확장시키지? 노력하는초보갤로그로 이동합니다. 10.10.03 70 0
210409 형들아 어셈블리 프로그래밍 질문좀해보자. [5] 설탕라면갤로그로 이동합니다. 10.10.03 107 0
210408 학교 내에서도 경쟁체제를 도입해야 함 [20] 넉넉한터갤로그로 이동합니다. 10.10.03 155 0
210407 x += dx; 는 d랑 x를 + 해서 x에 넣어라 라는 뜻임? [7] 금호족기(61.75) 10.10.03 81 0
210406 C언어 자열배열 길이 입력받기 질문함다. [5] 하악(118.37) 10.10.03 68 0
210404 [리눅스]프로세스10개를만들어서 자연수합을 구하는 걸 만드는건데요 [5] 푸갤뉴우비(118.216) 10.10.03 79 0
210403 집지리집집 집인데 elwlwlwk갤로그로 이동합니다. 10.10.03 36 0
210402 웹이나 모바일웹 개발해서 로그분석 하고 싶으면 ㅇㄹㅇ(168.131) 10.10.03 83 0
210401 한 에러가지고 몇시간 낑낑대보셨어요?? [6] 에러년(112.154) 10.10.03 85 0
210400 형들...문자열 마무리 삭제하는법좀 가르쳐주세요 굽신굽신(123.100) 10.10.03 869 0
210398 C언어에서 소팅할때염.. Help_me갤로그로 이동합니다. 10.10.03 60 0
210397 씨언어 과젠데,, 아무리봐도 답없음,ㅠㅠ 도와주세요! [4] 제발,,(118.220) 10.10.03 111 0
210396 내년인가.. MS에서 스마트폰 만들어낸다던데.. [7] 황태자갤로그로 이동합니다. 10.10.03 119 0
210395 앞으로 프로젝트 따윈 혼자할거임. [9] 아 ㅡㅡ(168.131) 10.10.03 152 0
210394 어른들을 공경하라는 게 언뜻 보면 맞는 말 같지만... 분당살람갤로그로 이동합니다. 10.10.03 74 0
210393 [우리나라 사람들은...]이라는 말로 일반화 시키는거 싫어하지만. [2] 초밥술사갤로그로 이동합니다. 10.10.03 82 0
210392 형들아 어셈블리어좀배워봐 ㅋㅋㅋ [3] 설탕라면갤로그로 이동합니다. 10.10.03 152 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2