[JAVA] JAVA 3

JAVA 2014. 8. 4. 21:11


10. 배열
(1)1차원배열
    (형식)자료형[ ] 배열명;      or    자료형 배열명[ ];

 ex)     int[ ] a;            <-- 배열선언
         a = new int[5];      <-- 배열에 동적메모리할당(heap)
         a[0]=10;             <-- 배열요소이용
         a[1]=20;
         ------------------------------------------------------
 ex)    int [ ] a = new int[5];
         ------------------------------------------------------
 ex)    int [ ] a;
        a = new int[ ] {1,2,3,4,5};
        -------------------------------------------------------
 ex)    int [ ]a = {1,2,3,4,5};

(2)2차원배열
    (형식) 자료형[][] 배열명;    or   자료형 배열명[][];
               i)  int [][]data = new int[3][4];
               ii) int [][]data;
                   data= new int[3][4];
               ii) int [][]data={{10,40,70,100},{20,50,80,110},{30,60,90,120}};
  

(3)가변배열(참조형으로 처리)
     : 행 또는 면의 크기가 가변적인것

    (형식)자료형 [][]배열명 = new 자료형[첨자][];
          i) int [][]num = new int[3][];
      num[0] = new int[3];
      num[1] = new int[2];
      num[2] = new int[4];

   ii)int [][]num = new int[3][];
      num[0] = new int[]{1,2};
      num[1] = new int[]{3,4,5};
      num[2] = new int[]{6,7,8,9};

★참조형(Reference Type)
   : 기본형변수는 해당 변수가 위치한 곳에 값을 보관하고 있다.
     하지만 참조형은 값이 저장된 곳의 위치정보를 알고 있는 변수이다.
     결국, 기본형은 변수의 위치와 값이 저장된위치가 동일한 반면
     참조형은 값이 저장된 위치와 변수의 위치가 다르다.
     참조라는 말은 주소(Address)라고도 말할수 있다.
----------------------------------------------------------------------------------
Sort(정렬)  - 오름/내림
① Selection Sort (선택)
② Bubble Sort
----------------------------------------------------------------------------------
★ 난수함수 : 컴퓨터가 임의의 수를 발생
① import java.util.Random;
② Random 변수1 = new Random();
③ int 변수2 = 변수1.nextInt(최대값); <-----  0 ~ (최대값 - 1)사이의 임의의 수

★패키지(package)처리
$ javac  -d  .  파일명.java   <---컴파일
$ java   패키지명/파일명      <--- 실행
==============================================================

11. 객체지향프로그래밍(OOP : Object Orient Programming)
  ★자바의 메모리구조
     : OS에 의하여 프로그램이 수행되면 JVM은 OS로부터 적절한
       크기의 메모리공간을 얻어내게 된다. 그리고 얻어낸 메모리
       공간을 JVM은 3영역으로 나누어 관리한다
   ① 메소드(method area)영역 : 메소드의byte코드 ,클래스의 전역변수
                                                 (static 멤버변수)
   ② 스택(Stack) : 매개변수, 지역변수
                            (메소드의 실행이 종료되면 자동반환)
   ③ 힙(Heap) : 클래스객체, 배열객체, 문자열객체
                        (new연산자 사용, 객체가 사용하는 메모리공간)
-------------------------------------------------------------------
  ★객체지향의 중요한 3가지
    (1) 상속성(Inheritance)
         :이미 만들어진 코드에 새로운 코드를 추가
          (프로그램 개발속도 증진, 프로그램 전체의 오류를 방지)
    (2) 다형성(Polymorphism)
         :상속받은것을 그대로 사용하지 않고 사용자 입맛에 맞게 바꾸어 사용
    (3) 캡슐화(Encapsulation)
         :데이터보호, 재사용성  - 데이터은닉화
============================================================

12. 함수 오버로딩(overloading)
     : 같은 이름의 함수를 여러번 구현할수있다.
       ① 매개변수의 갯수가 다름
       ② 매개변수의 자료형이 틀림

ex)   Add(2);
      Add(10,20);
      Add(23.45, 40.5);
============================================================

13. 생성자(Constructor) 
    ① 반드시 클래명과 동일
    ② 결과형(리턴값)이 없다 (void도 쓰면 안됨)
    ③ 객체가 생성될때 자동 호출(user임의로 호출할수 없다)
    ④ 멤버필드의 값을 초기화 한다
    ⑤ 생략하면 default생성자가 있는것으로 인식
    ⑥ 여러개의 생성자를 만들수 있다(생성자 overloading)
    ⑦ 생성자의 첫번째라인으로 this(매개변수)를 사용하여
        또 다른 생성자를 호출할수 있다
============================================================

14. Garbage 컬랙션
   : C언어의 소멸자 개념, JVM스스로 불필요한 메모리를 삭제
    (프로그래머는 신경쓸 필요 없다)

 

출처 : ITBANK 수업중...

'JAVA' 카테고리의 다른 글

[JAVA] JAVA 5  (0) 2014.08.08
[JAVA] JAVA 4  (0) 2014.08.07
[JAVA] JAVA 2  (0) 2014.08.03
[JAVA] JAVA 기본  (0) 2014.08.02
Posted by 은총애비!!
,