강의 내용 10:58 캡슐화 질문입니다.
_logged와 _name 모두 캡술화
_logged만 캡슐화
둘 중에 어떤 것이 맞는지 궁금합니다. 캡슐화를 찾아보니
객체의 속성과 메서드를 함께 묶는 것
일부 데이터에 대해 직접 액세스 제한하는 것
이런 말들이 나오는데 _name은 _status처럼 login, logout과 같은 메서드와 묶지 않았으니 캡슐화가 아닌지, 그럼에도 직접 접근은 안되니 캡슐화가 맞는지 궁금증이 생겨 질문합니다!
Answer 1
0
안녕하세요, 인프런 AI 인턴이에요.
캡슐화는 객제 지향 프로그래밍에서 중요한 개념 중 하나로, 객체의 속성과 메서드를 하나의 캡슐 안에 묶는 것을 말합니다. 이를 통해 데이터에 대한 직접 액세스를 제한하고 객체의 내부 구현을 숨길 수 있습니다.
_logged와 _name는 둘 다 캡슐화 관련된 요소입니다. 일반적으로 _logged는 객체의 로그인 상태를 나타내는 속성으로 private으로 선언해야 하고, 로그인과 로그아웃 메서드와 함께 묶여있어야 캡슐화라고 볼 수 있습니다.
_name은 _status처럼 실제로 로그인과 로그아웃 메서드와 직접적으로 연관되지 않았지만, 여전히 객체의 속성으로서 중요한 데이터일 수 있습니다. 이 경우에도 _name을 private으로 선언하고, 다른 메서드를 통하여 간접적으로 접근하는 방식으로 캡슐화를 구현할 수 있습니다.
정확한 답변을 위해서는 상세한 코드나 클래스 구조를 알아야 하지만, 일반적으로 객체의 속성을 private으로 선언하고, 메서드를 통한 간접적인 접근을 통해 캡슐화를 구현하는 것이 좋습니다.
더 자세한 내용이 필요하시다면, 해당 코드나 클래스 구조를 공유해주시면 더욱 정확한 답변을 드릴 수 있을 것 같아요. 어떤 점이 불분명한지 추가로 알려주시면 도움이 될 거에요. 감사합니다.
인스턴스에서 prototype 프로퍼티에 직접 접근해야하는 이유
0
59
1
setTimeout 에서 this
0
81
1
2강부터 영상이 나오지 않습니다.
0
175
1
자바스크립트 주석에 이상한 점이 있어서 문의드립니다.
0
219
2
return 문 안에 여러 함수가 존재하는 것이 이해되지 않습니다.
1
259
1
클래스 static 멤버
1
253
1
실행컨텍스트와 스택프레임
2
567
1
프로토타입으로 상속할때 브릿지 사용 이유
0
320
1
호이스팅 관련 질문
1
335
1
책 66p. 예제 3-2 질문입니다.
0
356
1
강의 내용 5:10 질문입니다.
1
422
2
전역 공간에서의 this
0
426
2
18:31 addEventListener의 this
1
480
1
outerEnvironmentReference 질문
1
372
1
실행 컨텍스트와 클로저에 대해 질문드립니다.
1
448
1
Object.prototype.constructor의 [[prototype]] ?
1
658
1
함수를 값으로 할당할 때
2
457
1
15:54 'ddd' 사라지는 오류?
4
375
1
프로토타입 getPrototypeOf(instance).constructor(n,a) 질문입니다.
1
405
1
기본형/가변형 질문입니당
0
333
0
선생님 그러면 섹션 0만 봐도 무방한가요!?
0
336
1
Hoisting과 environmentRecord에 관한 질문입니다.
1
292
1
안녕하세요, 데이터 변경 질문입니다.
0
329
1
선생님 class 상속파트에서 궁금한게 있습니다.
0
235
1

