게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
자바스크립트에서의 OOP 질문
게시물ID : programmer_4554짧은주소 복사하기
작성자 : 알데트
추천 : 0
조회수 : 490회
댓글수 : 15개
등록시간 : 2014/07/17 00:00:50

자바스크립트 대체 뭔가요?

변수 하나 온전히 encapsulation을 할 방법을 못 찾겠네요.

구글링은 다 자기자신이 옳다고 해대는데... 도움 좀 주세요.. ㅠㅠ

C++을 주로 사용해서 자바스크립트에서 OOP하기 너무 어렵네요.


제가 구글링해서 찾은 2가지 방안인데 각각에 문제점들이 있어요. c++에서는 두 부분을 모두 커버하면서 OOP 방식으로 코딩이 가능한데 자바스크립트로는 잘 못 하겠습니다. 고수 분들의 조언이 필요합니다.. ㅠㅠ


코드 짜야되는데, 기본적인 게 안되서 진행을 못 하겠네요.



1안,
-> 문제점 : this.sayHello라는 function이 classUser가 인스턴스화될때마다 같이 생성된다.

그런데 구글링해보면 자바스크립트에서 객체를 OOP스럽게 하려면 constructor안에 함수 정의하지 말란다... 하... 나참...


function classUser(SN, id, socket) {

var mSN = SN;

var mID = id;

var mSocket = socket;

this.sayHello = function() {

console.log('SN:'+ mSN);

}

};


2안,
-> 문제점 : this를 붙이는 순간 변수가 public됩니다. 다른 개발자가 내가 보호하려던 변수를 맘대로 꺼내쓸수 있음.

이 방법을 하려는 이유는 1안에서의 문제점이 보완됩니다.


function classUser(SN, id, socket) {

this.mSN = SN;

this.mID = id;

this.mSocket = socket;

};

classUser.prototype.sayHello = function() {

console.log('SN:' + this.mSN );

};




1,2안을 모두 보완해주는 해결책 없나요?


전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호