30명의친구를 만들어 보겠습니다.






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title> 동적으로 테이블 만들기
</title>
</head>
 
<body onload="makeFriends()">
   <h2>내 친구 나열하기</h2>
 
   <script type="text/javascript">
      function makeFriends() {
         var myFriends = window.prompt("친구가 몇 명인가요?""");
         
         for(var i = 0; i < parseInt(myFriends); i++)
         {
            var textBox = document.createElement("input");
            var newLine = document.createElement("br");
            
            textBox.type = "text";
            
            document.body.appendChild(textBox);
            document.body.appendChild(newLine);
 
         }
      }
   </script>
</body>
</html>
cs



'프로그래밍 > JAVA' 카테고리의 다른 글

[JAVA] final  (1) 2018.08.20
[JAVA] String 타입  (8) 2018.08.20
[JAVA]상속-부모클래스, 자식클래스  (5) 2018.08.18
[JAVA]this 레퍼런스  (2) 2018.08.17
[JAVA]접근 지정자를 알아보자!  (2) 2018.08.17

final

상수를 표현하기 위한 예약어

마지막이라는 단어의 뜻 처럼 선언한 그대로 사용


final 필드

final필드의 뜻은 최종적인 필드라는 뜻이다.

final필드는 초기값이 저장되면 이것이 최종적인 값이 되어서 프로그램 실행 도중에 수정할 수 없다.

▼final필드 선언

final String name = "yujin"; 

final 필드의 초기값을 줄 수 있는 2가지 방법

1. 필드 선언시에 주는 방법. (단순 값)

final String nation = "korea"; 

2. 생성자에서 주는 방법. (복잡한 초기화 코드가 필요하거나  객체 생성 시에 외부 데이터로 초기화해야할 때 사용)

final String ssn; 


상수(static final)

상수란? 

불변의 값을 말한다. 불변의 값은 수학에서 사용되는 원주율 파이(π)나, 지구의 무게및 둘레 등이 해당된다.

이런 불변의 값을 저장하는 필드를 자바에서는 상수(constant)라고 한다.

상수는 static 이면서 final이어야 한다. static final필드는 객체마다 저장되지 않고, 클래스에만 포함 된다. 그리고 한번 초기값이 정해지면 변경할 수 없다. 

 static final double PI = 3.141592;

 static final double EARTH_SURFACE_AREA; //상수이름은 대문자로 한다


final 메소드

final로 메소드를 선언하면 오버라이딩할 수 없는 메소드임을 선언한다.

자식 클래스가 부모 클래스의 특정 메소드를 오버라이딩 하지 못하게 하고 무조건 상속받아 사용하도록 하고자 한다면 final로 지정한다.

( 부모한테 강제 상속)


final 클래스

public final class 클래스{....}

final 클래스는 클래스를 상속받을수 없다.

final 클래스를 상속받아 sub 클래스를 만들수 없다. 


'프로그래밍 > JAVA' 카테고리의 다른 글

[html,css,js]동적으로 테이블 만들기  (0) 2018.10.21
[JAVA] String 타입  (8) 2018.08.20
[JAVA]상속-부모클래스, 자식클래스  (5) 2018.08.18
[JAVA]this 레퍼런스  (2) 2018.08.17
[JAVA]접근 지정자를 알아보자!  (2) 2018.08.17

String  타입 


자바는 문자열을 String 변수에 저장한다.

 

String 변수;

변수 = "문자열";

 

▽ 변수 선언과 동시에 문자열 저장하기 

String 변수 = "문자열";


▽자바는 문자열 리터럴이 동일 하다면 String 객체를 공유하도록 되어있다

 다음과 같이 name1과 name2변수가 동일한 문자열을 사용하면 name1과 name2는 동일한 String객체를 참조하게 된다.

String name1 = "유정뱅이";

String name2 = "유정뱅이";

name1 == name2 의 연산 결과는 true가 나온다.


▽new연산자를 사용한 String 객체 생성

 

String name1 = new String("유정뱅이");

String name2 = new String("유정뱅이");

name1 == name2 의 연산 결과는 false가 나온다. ( == 연산자는 변수에 저장된 객체 번지가 동일한지를 검사한다.)

 

boolean result = str1.equals(str2);  //str1 = 원본 문자열 , str2 = 비교 문자열 

 

String 객체이건 다른 String 객체이건 상관없이 문자열만을 비교한때에는 String 객체의 equals()메소드를 사용해야한다.

equals()메소드는 원본 문자열과 매개값으롤 주어진 비교 문자열이 동일한지 비교한 후 true 또는 false를 리턴한다.

 

String name1 = null;

String 변수는 참조 타입이므로 초기값으로 null을 대입할 수 있다. null은 String변수가 참조하는 String객체가 없다는 뜻이다.


String name1 = "유정뱅이";

 name1 = null;

name1변수가 String객체를 참조하였으나, null을 대입함으로써 더 이상 String객체를 참조하지 않도록 할 수도 있다.

참조를 잃은 String객체는 어떻게 될까?  JVM은 참조 되지 않은 객체를 쓰레기 취급하고 쓰레기 수집기(Gabage Collector)를 구동시켜 메모리에서 자동 제거한다.





'프로그래밍 > JAVA' 카테고리의 다른 글

[html,css,js]동적으로 테이블 만들기  (0) 2018.10.21
[JAVA] final  (1) 2018.08.20
[JAVA]상속-부모클래스, 자식클래스  (5) 2018.08.18
[JAVA]this 레퍼런스  (2) 2018.08.17
[JAVA]접근 지정자를 알아보자!  (2) 2018.08.17

+ Recent posts