8월 21일 얼른 집에 가고 싶은마음에 블로그 쓰는 것을 미뤘었다.

지난주 8월 16일부터 자바를 배우게 되었고, 오늘은 자바 를 배운지 4일째다.

지금까지 배웠던 것을 정리해보면 

 

JAVA템플릿구성(소스 파일 구조)

|프로젝트

        |→ 패키지

              |→클래스

                    |→메소드(멤버함수)

                    |→속성(필드, 멤버변수)

                    |→main( )

 

클래스

정의(역할=기능=동작) : 객체를 생성

구성 : 메소드와 속성으로 구성되어 있다.

 

객체 : 클래스가 생성한 Object(요소,객체)로써 속성과 메소드를 갖고 있다.

인스턴스 : 클래스에서 생성된 객체의 호칭(실제값)

 

속성(필드,멤버변수) : 객체의 기본 값

메소드(멤버함수) : 실행 가능한 프로그램을 동작( 기능, 실행 )을 한다.

                               / 객체가 수행하는 작업이나 동작을 정의하는 함수

     메소드 사용법 : 클래스 내부,(다른클래스)외부, 생성자에서 호출 해야만 사용 가능함.

                               클래스 내부에서는 메소드명(); 으로 호출된다.

                               클래스 외부에서 호출은 클래스가 객체를 만들고, 객체를 통해서 호출(참조변수)

자료형 타입 

1. 기본형(Primitive type)

2. 참조형 (Reterence type)



등등을 배웠는데 블로그를 정리를 안해서 천천히 정리 할 예정이고 

오늘은 배열 그리고 클래스영역 생성과 인스턴스 영역 생성에 대해 배웠다.

 

배열(Array) : 같은 타입의 데이터를 순서대로 저장하는 기억 장소 (공간)

배열 선언 : 참조형 변수를 사용하겠다고 선언한 것과 같은 뜻

배열 인덱스 (첨자) : 배열 안에 요소들이 갖는 순서번호

   예 ) int[ ] jumsu = new int[5]; 이때 인덱스 번호는 0~4까지 (인덱스는 0부터 시작함)

          int[ ] jumsu = { 50, 60, 70, 80, 90 };

          배열을 지정하면서 값을 넣는 것을 초기화

          ※ 배열의 크기는 한번 정하면 변경 할 수 없다.

 

Method

main 메소드에서 시작해서 main 메소드에서 끝난다.

public static void main(String[ ] args) -> 하나만 존재 해야 한다.

 

static이 있다 : 클래스 멤버(static 영역-정적 프로그램 종료될때까지 저장되어있음)

              → 멤버 변수와 멤버함수를 모든 객체에서 사용하겠다.

static이 없다 : 인스턴스 멤버(stack 영역 함수가 끝나면 사라짐)

             → 멤버 변수와 멤버함수를 인스턴스 객체에서만 사용 하겠다.

클래스 멤버는 : 인스턴스 메소드에서 사용가능

   인스턴스 멤버는 : 프로젝트 객체를 생성한 후 객체를 통해 사용 가능

 

static : 공동 정적 변수 로 사용가능게 한다.(static영역에 저장이 된다.)

  1. 클래스 멤버가 된다
  2. 모든 객체에서 공통적으로 사용가능하다.
  3. 모든 인스턴스에서 공통적으로 사용 하려면 static을 붙인다.
  4. static이 붙은 멤버들은 객체를 생성하지 않아도 사용 가능하다.
  5. static이 붙은 멤버들은 클래스(프로그램)를 메모리로 읽어들일 때 자동으로 생성된다.
  6. 클래스 영역에서는 멤버들만 쓸 수 있다.

           a. (일반 수식, 명령어는 사용 불가능)

           b. (값 변경 등은 멤버 함수에서 한다.)

 

 

내부클래스 생성 이유 : 중요한 것이기 때문에

장점

  1. 객체 생성 없이도 (맴버변수/맴버함수) 사용 가능
  2. 상위 클래스의 속성/메소드 등을 상속 받는다.(쉽게 사용)
  3. 내부클래스는 상위 클래스 안에서만 사용 되기 때문에 보안(캡슐화)이 가능하다
  4. 내부클래스 앞에 public, private, protect 모두 붙일 수 있다.
    • (외부 클래스는 public만 올 수 있다.)
  5. 간단, 복잡성, 코드 길이도 줄어든다.
  6. 내부클래스는 static을 붙여준다.
  7. 상위(부모=외부)(내부입장에서는 부모가 외부 클래스) 클래스

 


오늘은 이렇게 내부 클래스에 대해 배웠고, 내일은 외부 클래스에 대해 배운다고 한다.

학원 강사님 께서 아직 까진 그날그날 배운것들은 소화가 가능할 정도로 진도를 나가주시고 계신다.

 

지금까지 수업을 듣고 혼자서 기능을 사용하는데는 크게 문제없이 잘 사용 하고 있지만,

디테일 한 부분을 들어가면 아직 부족한게 좀 많다.

 

앞으로는 수업 끝나면 바로 집으로 달려가지 않고 조금씩이라도 남아서 정리도 하고 공부하는 시간을 갖으려고 한다.

 

+ Recent posts