달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  


 

eclipse - JRE 경로 변경하기

 

프로젝트 선택 >> 마우스 우클릭 >> [Build Path] >> [Configure Build Path…] >>

[Libraries] >> 에러 표시가 있는 [JRE System Library [jre1.x.x_xxx](unbound)] 항목 선택 >> [Edit…]


 

 

[Workspace default JRE(jdk-xx)] 항목 선택 >> [Finish]


 

 

[Apply and Close]


 

 

Posted by codedragon codedragon

댓글을 달아 주세요

   

JRE System Library >

Next

   

Workspace default JRE 선택 >

Finish

   

OK

   

Posted by codedragon codedragon

댓글을 달아 주세요

   

   

에러 메시지

Resource '/web/WebContent/WEB-INF/web.xml' does not exist

   

   

해결방법

web.xml파일을 다운 받은 후 생성한 Dynamic Web Project의

/WebContent/WEB-INF/폴더에 복사해 넣어줍니다.

   

 

web.xml 다운받기

 

web.xml

 

Posted by codedragon codedragon

댓글을 달아 주세요

은닉화 / 캡슐화

   

소스 코드

   

  1. function Rectangle(width, height){
  2.                         //지역변수는 외부에서 호출 불가(은닉화)
  3.                         var width = width;             
  4.                         var height = height;
  5.                         this.getWidth = function(){
  6.                                 return width;
  7.                         };
  8.                         this.getHeight = function(){
  9.                                 return height;
  10.                         };
  11.                 }
  12.                  
  13.                 var rectangle = new Rectangle(6, 8);
  14.                  
  15.                 //외부에서 호출불가
  16.                 document.write(rectangle.width + ', ' + rectangle.height + '<br>');
  17.                 //메소드를 통해 접근
  18.                 document.write(rectangle.getWidth() + ', ' + rectangle.getHeight())


   

   

출력결과

'Development > JavaScript, jQuery, ...' 카테고리의 다른 글

상속- 15.html  (0) 2015.03.19
try~catch- 14.html  (0) 2015.03.09
13.html-은닉화 / 캡슐화  (0) 2015.02.01
은닉화 / 캡슐화- 12.html  (0) 2015.01.19
프로토타입을 사용한 메소드 생성- 11.html  (0) 2015.01.14
prototype 확인- 21.html  (0) 2015.01.04
Posted by codedragon codedragon

댓글을 달아 주세요

   

은닉화 / 캡슐화

   

   

소스 코드

   

  1. <script type="text/javascript">
  2.                 function Rectangle(width, height){
  3.                         //지역변수는 외부에서 호출 불가(은닉화)
  4.                         var width = width;             
  5.                         var height = height;
  6.                         this.getWidth = function(){
  7.                                 return width;
  8.                         };
  9.                         this.getHeight = function(){
  10.                                 return height;
  11.                         };
  12.                          
  13.                         this.setWidth = function(width){
  14.                                 //검증
  15.                                 if(width < 0){
  16.                                         alert('음수를 입력할 없습니다.');
  17.                                 }else{
  18.                                         width = width;
  19.                                 }
  20.                                  
  21.                         };
  22.                         this.setHeight = function(height){
  23.                                 //검증
  24.                                 if(height < 0){
  25.                                         alert('음수를 입력할 없습니다.');
  26.                                 }else{
  27.                                         height = height;
  28.                                 }
  29.                         };
  30.                 }
  31.                  
  32.                 Rectangle.prototype.getArea = function(){
  33.                         return this.getWidth() * this.getHeight();
  34.                 };
  35.                  
  36.                 var rectangle = new Rectangle(6, 8);           
  37.                 document.write('AREA = ' + rectangle.getArea() + '<br>');
  38.                  
  39.                 rectangle.setWidth(-5);
  40.                 document.write('AREA = ' + rectangle.getArea()+ '<br>');                         
  41.            
  42. </script>
  43. </head>
  44. <body>
  45.    
  46. </body>


   

 

출력결과

   

   

   

   

   

   

   

   

   

'Development > JavaScript, jQuery, ...' 카테고리의 다른 글

try~catch- 14.html  (0) 2015.03.09
13.html-은닉화 / 캡슐화  (0) 2015.02.01
은닉화 / 캡슐화- 12.html  (0) 2015.01.19
프로토타입을 사용한 메소드 생성- 11.html  (0) 2015.01.14
prototype 확인- 21.html  (0) 2015.01.04
배열에 객체 저장- 10.html  (0) 2014.12.28
Posted by codedragon codedragon

댓글을 달아 주세요

프로토타입을 사용한 메소드 생성

   

   

학습내용

(중요)프로토타입은

  • 생성자 함수를 사용해 생성된 객체가 공통으로 가지는 공간
  • prototype영역 호출
  • 메모리 영역의 효율성 증가
  • 상속에서도 동일한 개념이 나옴

   

   

소스 코드

   

  1. <script type="text/javascript">
  2.         function Student(name, korean, math, english, science){
  3.                 this.name = name;
  4.                 this.korean = korean;
  5.                 this.math = math;
  6.                 this.english = english;
  7.                 this.science = science;
  8.         }
  9.          
  10.         //프로토타입은 생성자 함수를 사용해 생성된 객체가 공통으로 가지는 공간
  11.         //prototype영역 호출
  12.         //메모리 영역의 효율성 증가
  13.         Student.prototype.getSum = function(){
  14.                 return this.korean + this.math + this.english + this.science;
  15.         };
  16.         Student.prototype.getAverage = function(){
  17.                 return this.getSum()/4;
  18.         };
  19.         Student.prototype.toString = function(){
  20.                 return this.name + ', ' + this.getSum() + ', ' + this.getAverage();
  21.         };
  22.          
  23.          
  24.         var students = [];
  25.         students.push(new Student('홍길동', 99, 88, 55, 66));
  26.         students.push(new Student('일지매', 99, 77, 67, 78));
  27.         students.push(new Student('대장금', 45, 65, 65, 87));
  28.         students.push(new Student('금잔디', 99, 88, 55, 66));
  29.         students.push(new Student('하회탈', 99, 88, 55, 66));
  30.         students.push(new Student('곰탱이', 99, 80, 55, 66));
  31.          
  32.         //출력
  33.         var output = '이름, 총점, 평균\n';
  34.         for(var i in students){
  35.                 output += students[i].toString() + '\n';
  36.         }
  37.         alert(output);
  38. </script>
  39. </head>
  40. <body>
  41.    
  42. </body>


 

   

출력결과

   

Posted by codedragon codedragon

댓글을 달아 주세요

prototype 확인

객체 리터럴 방식으로 생성된 객체는 Object.prototype 객체가 프로토타입 객체가 된다는 것을 확인 할 수 있습니다.

   

소스 코드

   

  1. <script type="text/javascript">
  2.         var student = {
  3.             name: 'student',
  4.             age: 30
  5.         };
  6.          
  7.         console.log(student.toString());
  8.         console.dir(student);
  9. </script>
  10. </head>
  11. <body>
  12.    
  13. </body>


   

   

출력결과

   

크롬 브라우저의 출력결과

Object

  • age30
  • name"student"
  • __proto__: Object
  • __defineGetter__: function __defineGetter__() { [native code] }
  • __defineSetter__: function __defineSetter__() { [native code] }
  • __lookupGetter__: function __lookupGetter__() { [native code] }
  • __lookupSetter__: function __lookupSetter__() { [native code] }
  • constructor: function Object() { [native code] }
  • hasOwnProperty: function hasOwnProperty() { [native code] }
  • isPrototypeOf: function isPrototypeOf() { [native code] }
  • propertyIsEnumerable: function propertyIsEnumerable() { [native code] }
  • toLocaleString: function toLocaleString() { [native code] }
  • toString: function toString() { [native code] }
  • valueOf: function valueOf() { [native code] }
  • get __proto__: function __proto__() { [native code] }
  • set __proto__: function __proto__() { [native code] }

  

3라인

객체 리터럴 방식으로 생성된 객체는 Object.prototype 객체가 프로토타입 객체가 된다는 것을 확인 할 수 있습니다.

9~14

라인

toString()외에 hasOwnProperty(), valueOf90등과 같은 자신의 프로토타입인 Object.prototype객체에 포함된 다양한 메소드를 마치 자신의 프로퍼티인 것 처럼 상속받아 사용할 수 있습니다.

   

   

student객체와 Object.prototype객체와의 도식도

   

   

ECMAScript 명세서- 세부 참조

ECMAScript 명세서-8.6.2 Object Internal Properties and Methods

자바스크립트의 모든 객체는 자시의 프로토타입을 가리키는 Prototype라는 숨겨진 프로퍼티를 가집니다.

   

Object,prototype 객체가 포함하고 있는 메서드 확인하기

ECMAScript 명세서- 15.2.4 Properties of the Object Prototype Object

   

ECMAScript 참조

http://codedragon.tistory.com/46

Posted by codedragon codedragon

댓글을 달아 주세요

배열에 객체 저장

   

학습내용

자바와 유사

동일한 패턴 사용시

   

소스 코드

   

  1. <script type="text/javascript">
  2.         //생성자 함수
  3.         function Student(name, korean, math, english, science){
  4.                 //속성 지정
  5.                 //this 전역변수로 this없으면 지역변수
  6.                 this.name = name;
  7.                 this.korean = korean;
  8.                 this.math = math;
  9.                 this.english = english;
  10.                 this.science = science;
  11.                  
  12.                 //메소드 지정
  13.                 this.getSum = function(){
  14.                         return this.korean + this.math + this.english + this.science;
  15.                 };
  16.                 this.getAverage = function(){
  17.                         return this.getSum()/4;
  18.                 };
  19.                 this.toString = function(){
  20.                         return this.name + ', ' + this.getSum() + ', ' + this.getAverage();
  21.                 };             
  22.         }
  23.          
  24.         var students = [];
  25.         students.push(new Student('홍길동', 99, 88, 55, 66));
  26.         students.push(new Student('일지매', 99, 77, 67, 78));
  27.         students.push(new Student('대장금', 45, 65, 65, 87));
  28.         students.push(new Student('금잔디', 99, 88, 55, 66));
  29.         students.push(new Student('하회탈', 99, 88, 55, 66));
  30.         students.push(new Student('곰탱이', 99, 80, 55, 66));
  31.          
  32.         //출력
  33.         var output = '이름, 총점, 평균\n';
  34.         for(var i in students){
  35.                 output += students[i].toString() + '\n';
  36.         }
  37.         alert(output);
  38. </script>
  39. </head>
  40. <body>
  41.    
  42. </body>


   

 

출력결과

   

Posted by codedragon codedragon

댓글을 달아 주세요

Package Exploer에서

삭제한 패키지 폴더 선택 > 마우스 우클릭 >

Restore from Local History… 메뉴 클릭

   

복구가능한 히스토리에 파일이 존재하는 경우

해당 파일 체크 후 >

Restore 클릭

   

   

복가능한 히스토리가 없는 경우 메세지

Posted by codedragon codedragon

댓글을 달아 주세요

생성자 함수를 이용한 객체 생성 2

   

   

소스 코드

   

  1. <script type="text/javascript">
  2.         //생성자 함수
  3.         function Student(name, korean, math, english, science){
  4.                 //속성 지정
  5.                 //this 전역변수로 this없으면 지역변수
  6.                 this.name = name;
  7.                 this.korean = korean;
  8.                 this.math = math;
  9.                 this.english = english;
  10.                 this.science = science;
  11.                  
  12.                 //메소드 지정
  13.                 this.getSum = function(){
  14.                         return this.korean + this.math + this.english + this.science;
  15.                 };
  16.                 this.getAverage = function(){
  17.                         return this.getSum()/4;
  18.                 };
  19.                 this.toString = function(){
  20.                         return this.name + ', ' + this.getSum() + ', ' + this.getAverage();
  21.                 };             
  22.         }
  23.          
  24.         //생성자 함수를 이용한 객체 생성
  25.         var student = new Student('홍길동', 90, 77, 80, 95);
  26.          
  27.         //출력
  28.         document.write(student);
  29.          
  30.          
  31.         document.write('<br>');
  32.         //생성자 함수를 이용한 객체 생성
  33.         var student2 = new Student('대장금', 53, 87, 86, 67);       
  34.         document.write(student2);
  35.          
  36.          
  37. </script>
  38. </head>
  39. <body>
  40.    
  41. </body>


   

 

출력결과

   

Posted by codedragon codedragon

댓글을 달아 주세요