728x90
□ 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)를 지정하기 위한 도구
■ 자바에는 포인터가 없어서 선언된 변수의 정확한 주소를 확인할 방법이 없다.
■ 변수 : 데이터 타입이 명시된 형태의 데이터를 담을 수 있는 메모리
■ 변수의 목적 : 데이터를 보관하기 위해서
■ 상수 : 데이터 그 자체를 말하여 바꿀 수 없는 데이터를 말한다. 데이터 그 자체를 상수라고 한다.
■ 데이터 할당 : 변수에 값을 넣는 것.
■ 데이터 할당의 법칙 : 변수에 상수가 존재해도 다른것을 할당하면 마지막에 넣은것이 최종적으로 할당
■ 데이터 타입의 목적
1) 생성할 메모리의 크기를 지정하기 위한 목적으로 사용.
2) 메모리의 형태(Type)를 지정하는 목적으로 사용.(메모리의 형태란 비트의 조합을 의미)
■ 데이터 타입의 최종 정의
● 메모리의 크기(Size)와 형태(Type)를 지정하기 위한 도구
■ 자바에는 포인터가 없어서 선언된 변수의 정확한 주소를 확인할 방법이 없다.
■ 변수 : 데이터 타입이 명시된 형태의 데이터를 담을 수 있는 메모리
■ 변수의 목적 : 데이터를 보관하기 위해서
■ 상수 : 데이터 그 자체를 말하여 바꿀 수 없는 데이터를 말한다. 데이터 그 자체를 상수라고 한다.
■ 데이터 할당 : 변수에 값을 넣는 것.
■ 데이터 할당의 법칙 : 변수에 상수가 존재해도 다른것을 할당하면 마지막에 넣은것이 최종적으로 할당
□ 2장 클래스의 기본
■ 자바에는 구조체가 없다. 구조체에서 발전된 개념이 클래스
■ 자바의 클래스 개념에서는 반드시 new 연산자로 메모리를 생성하는 부분이 나와야 한다.
■ 구조체와 클래스의 정의 : 구조체와 클래스는 데이터 타입 생성기이다.
■ 클래스의 역할
● Person(인간) 클래스 생성
class Person{
● Person 클래스로 사람 생성int age;
int height;
int weight;
int height;
int weight;
}
Person Hong = new Person();
Person Choi = new Person();
● Hong의 정보입력Person Choi = new Person();
Hong.age = 20;
Hong.height = 170;
Hong.weight = 60;
● Choi의 정보입력Hong.height = 170;
Hong.weight = 60;
Hong.age = 26;
Hong.height = 183;
Hong.weight = 75;
● Person Choi의 메모리는Hong.height = 183;
Hong.weight = 75;
□□□□ □□□□ □□□□
□ 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 : 업캐스팅한 객체를 다시 되돌리는 것.
- 직렬화 : 객제의 메모리를 통째로 저장할 수 있는 기법
■ 다중상속 : 자바는 단일 상속을 기본
728x90
'자바' 카테고리의 다른 글
소설같은 자바 훑어보기 3권!! (0) | 2010.02.22 |
---|---|
소설같은 자바 훑어보기 2권!! (0) | 2010.02.19 |