□ 1장 언어의 기본
 ■ 자바를 배우려면 클래스를 알아야 한다. 
 ■ 클래스를 정복하는 것이 자바의 최종 목표이다.
 ■ 데이터 타입 : 메모리를 생성하기 위한 도구
 ■ 기본 데이터 타입 : byte(1), char(2), int(4), long(8), float(4), double(8), boolean(1)
    ● 분류
       : 정수형 - byte, char, int, long double
       실수형 - float, boolean
 ■ 자바에서는 모든 데이터 타입이 signed 계열이다.  signed 계열 = 음수와 양수를 함께 표현
 ■ 데이터 타입의 목적
    1) 생성할 메모리의 크기를 지정하기 위한 목적으로 사용.
    2) 메모리의 형태(Type)를 지정하는 목적으로 사용.(메모리의 형태란 비트의 조합을 의미)
 ■ 데이터 타입의 최종 정의
    ● 메모리의 크기(Size)와 형태(Type)를 지정하기 위한 도구
 ■ 자바에는 포인터가 없어서 선언된 변수의 정확한 주소를 확인할 방법이 없다.
 ■ 변수 : 데이터 타입이 명시된 형태의 데이터를 담을 수 있는 메모리
 ■ 변수의 목적 : 데이터를 보관하기 위해서
 ■ 상수 : 데이터 그 자체를 말하여 바꿀 수 없는 데이터를 말한다. 데이터 그 자체를 상수라고 한다.
 ■ 데이터 할당 : 변수에 값을 넣는 것.
 ■ 데이터 할당의 법칙 : 변수에 상수가 존재해도 다른것을 할당하면 마지막에 넣은것이 최종적으로 할당


□ 2장 클래스의 기본
 ■ 자바에는 구조체가 없다. 구조체에서 발전된 개념이 클래스
 ■ 자바의 클래스 개념에서는 반드시 new 연산자로 메모리를 생성하는 부분이 나와야 한다.
 ■ 구조체와 클래스의 정의 : 구조체와 클래스는 데이터 타입 생성기이다.
 ■ 클래스의 역할
     ● Person(인간) 클래스 생성
class Person{
int age;
int height;
int weight;
}
     ● Person 클래스로 사람 생성
Person Hong = new Person();
Person Choi = new Person();
     ● Hong의 정보입력
Hong.age = 20;
Hong.height = 170;
Hong.weight = 60;
     ● Choi의 정보입력
Hong.age = 26;
Hong.height = 183;
Hong.weight = 75;
    ● Person Choi의 메모리는
     □□□□ □□□□ □□□□


□ 3장 클래스
  ■ 클래스의 구성요소
    ● 변수
       * 멤버변수 : 클래스꺼, 자동 초기화.
       * 지역변수 : 메소드꺼, 초기회 해줘야함.
    ● 메서드
      *일만하는 메서드 : void형태 리턴값 없음
       * 일을 한 후 값을 리턴하는 메서드 : 타입 
       → 리턴은 메서드의 종료를 의미한다.
  ■ 메서드는 변수이다.
  ■ 클래스 내의 메서드
    ● 보통 클래스 내에 존재하는 변수나 메서드를 클래스의 멤버라고 부른다.
  ■ 클래스 = 데이터 + 메서드
                = 구조체 + 메서드
  ■ 접근제어 : 메모리를 보유한 객체를 이용해서 멤버에 점을 찍고 접근할 수 있는지 없는지 결정
    ● 이런식의 접근제어를 자료의 은폐화 라고 표현
    ● public(제한없음) > protected(상속관계) > default(같은 패키지내) > private(같은 클래스내)
  ■ 객체의 메모리 생성
    ● 클래스 데이터 타입으로 변수를 선언, 컴퓨터 내의 메모리 속에 데이터 타입에 해당하는 만큼의 메모리를 확보하는 일
        (위의 인간(Person) 클래스에서 사람 객체(Choi) 생성 참조)
    ● 자바에서는 객체 변수를 참조변수라고 말한다.
    ● 참조값이란 객체의 메모리를 생성했을때 메모리와 연결된 유일한 숫자값.
    ● 객체 변수는 참조변수이다.
    ● 레퍼런스는 주소의 참조값


□ 4장 자바의 기본
  ■ Static
    ● 객체를 아무리 많이 만들더라도 스태틱 변수는 오직 하나의 메모리만 생성
    ● 객체를 생성하기 전에 스태틱 멤버에 접근할 수 있다.
    ● 객체 생성 이전의 스태틱의 메모리가 생성된다.
    ● 스태틱 멤버 메서드 내에 일반 멤버 변수를 사용할 수 없다.
  ■ Stack 메모리
    ● 프로그램을 실행하는데 필요한 메모리 공간
    ● 메서드가 호출되는데 필요한 메모리
        - 지역변수(Local Variable), 매개변수(Paremeter), 리턴값이 저장될 곳(Return Value)
    ● 스택 프레임
        - 하나의 메서드를 호출하는데 필요한 메모리 덩어리
        - 메서드 하나당 하나의 스택 프레임이 존재
    ● 자바의 메모리 : 스택, 힙
    ● 가비지 콜렉터 : 자바의 메모리 관리자 역할(힙에 생성되는 객체의 메모리)
  ■ 오버로딩
    ● 메소드의 이름은 같은데, 인수의 갯수나 Type 이 다른 형태의 메소드로써 설계, 사용의 편의성을 위해서 존재한다.
  ■ 생성자
    ● 객체를 만들기 위해서 호출되는 메소드 형태의 것(new 와 함께 호출하면 객체 생성)
  ■ 상속
    ● 하위 클래스가 상위 클래스를 상속받았을때, 하귀 클래스는 상위 클래스의 모든 권한을 갖게 된다.
    ● 생성자는 상속되지 않는다. 상→하 순위로 생성자 호출
    ● Virtual메소드 : 아버지의 이름으로 아들의 메서드를 호출하는 기법
    ● this : 자기자신
    ● super : 상위 클래스


□ 5장 다형성
  ■ 다형성 : 하나로 여러가지 일을 하는것
    ● Abstract
        - 추상클래스 : 몸체없는 메서드({})를 가지고 있는 클래스, 클래스 선언부 앞에 abstract를 붙여준다.
        - 추상메서드 : 몸체없는 메서드({}), 메서드 선언부 앞에 abstract를 붙여준다.
    ● Interface : 골격만 가지고 있는 클래스, 몸체없는 메서드로만 이루어진 클래스
    ● Overriding
    ● Upcasting : 하위 클래스의 객체가 상위 클래스의 형으로 캐스팅 되는 것.
    ● Downcasting : 업캐스팅한 객체를 다시 되돌리는 것.
        - 직렬화 : 객제의 메모리를 통째로 저장할 수 있는 기법
  ■ 다중상속 : 자바는 단일 상속을 기본


'자바' 카테고리의 다른 글

소설같은 자바 훑어보기 3권!!  (0) 2010.02.22
소설같은 자바 훑어보기 2권!!  (0) 2010.02.19
Posted by 미스터네오
,