<복습내용>
*상속 : 슈퍼클래스에서 서브클래스로 상속되기 때문에 편리.
*다형성
레퍼런스 변수란?
: 객체 또는 배열 등의 주소 값을 가지는 변수.
Ex) Car c = new Car();
이후 “Car”라는 인스턴스를 사용시 “c”라는 변수를 사용
*C : 레퍼런스 변수. - > 스택에 저장
*Car : 인스턴스. - > 힙에 저장.
<복습내용 끝>
1. 자바의 실행절차
: 사용자의 “filename.java”를 compile --à byte code로 변환(class file) -à JVM실행 -à 결과출력
*Compile: 문법에 맞게 되어있는지 검사.
*BYTE CODE : 기계어는 아님, JVM이 알아 들을 수 있는 언어
2. 용어 정리.
1) 객체(Object) : 모든것, Class를 통해 만들어지는 구현물.
2) 클래스(Class) : 객체를 만들어내는 틀,(=설계도,blueprint)
3) 속성(field): 객체를 구분 함, 객체의 속성이며, Class의 정의되어있음.
(=property,attribute,member variable,전역변수…)
4) 메소드(method): 객체가 할 수 있는 행위.
5) 생성자(constructor): 객체가 만들어질 때 호출이 되는 일종의 메소드 같은 것.
- 클래스이름과 동일한 단어(대문자로 시작한다.)
- 메소드와 비슷한 형태 (){}
- 반환타입이 없다.
생성자(constructor)
Super Class와 Sub Class가 존재하는 상속관계 일 때,
Sub Class에서 정의를 하지 않았을 경우,
Super Class의 객체(Object)불러옴.(super();)
다형성의 개념
Overriding : 부모 Class에서 정의된 Method를 하위 Class에서 재정의.
*부모 Class에서 정의된 것을 상속받지만, 상속받은 내용을 특수화 하는 작업.
Overloading: 부모 class에서 정의된 field를 재정의시 사용(parameter사용)
접근제한자(사용범위 : 클래스,메소드,필드,…등등)
클래스에서는 public, default만 사용가능.
Public ,protected, default, private
1. Public
: 모두다 접속이 가능.(컴퓨터와 컴퓨터가 달라도)
2. Protected
: 상속구조에서도 접근이 가능. (만약 폴더가 달라도),(많이 사용은 안함.)
3. Default
: 같은 패키지(폴더)에서 접근가능.(접근제한자의 기본옵션)
4. Private
: 같은 클래스 내에서 접근이 가능한.(직접적인 캡슐화에 해당)
즉, class 내에서만 가능.
필드(field) 와 메소드(Method)
상속은 : 필드와 메소드.를 상속받는다.
필드를 바꿀경우 부모에게 상속받은 필드값까지 같이 변경,
So 구성요소 필요.
Public 선언된 get set 메소드를 만든다.
:
API (Abstract Program Interface)
생략되는 keword의 종류.
1) Import Java.lang.*;
(생략되어있음. Java.lang.* 에 있는 것들을 사용 할 수 있음 Ex) String,System.out.println)
2) Class “classname” extends Object{} (extends Object가 생력되어있음.)
형변환
Type을 변경하는 것. (가면을 쓴다.)
본 type은 존재하지만 가상,임시의 type정의하는 것.
Xman x1 = new Xman();
Ex) Human h = x1;
h.printDetail();
* Human에서 있는 method특징으로만 가능하지만 호출은 overriding한 것을 호출함.
*즉, Human을 호출하는 것이 아닌
*즉 아무리 Human h = x1 이라 하더라도. 가면만 Human,
본질은 역시 Xman…..
JVM 이 관리하는 메모리
1. Method Area
2. Stack
:변수 값을 저장.
먼저 들어간 것이 제일 나중에 나옴.
3. Heap
: 객체가 Heap 안쪽에 생김.(객체는 무거움.)
객체는 한번만들어지면 주소값을 생성시킴. 그 주소값이 hashcode.
Hashcode : Memory 주소값.(실제 메모리주소값이아니라 JVM이 관리하는 주소값);
숙제 : 상속관계를 만들고, 오버라이딩 예제,오버로딩 예제,형변환 예제를 만들어봅시다.
super(); --> super: 부모클래스의 객체.부모클래스의 객체를 호출
field 변수의 값을 정하지 않을경우 int 기본값 = 0
String 기본값 = null
(Method 생성시)return 값 사용/미사용
1) return값 사용.
: option에 datatype을 써준뒤 return; 써주면됨.
ex) public int test_return(){
return 0;
}
2) return값 사용 안할경우.
: option으로 void 사용
ex) public void test_unreturn(){
}
Parameter 값 사용
1) field parameter
"constructor name"(Type "fieldname",...)
this."fieldname"="field name";
2) Method parameter
"option" "Method name"(Type "fieldname"...){
this."fieldname";
}
//public 선언된 get set 메소드를 만든다.
//get method
public String getName(){
return name;
}
//set method
public void setName(String name){
this.name=name;
}
'자바 기본 공부 > 기초 이론' 카테고리의 다른 글
인터페이스 복습, 배열 , 예외처리 (0) | 2009.06.23 |
---|---|
연산자 종류, 반복문, 조건문, 제어의이동, 인터페이스 개념 (0) | 2009.06.23 |
수정제한자 , 식별자 , shift 연산자 (0) | 2009.06.23 |
변수의 종류, 오버로딩과 오버라이딩 , static의 의미 (0) | 2009.06.23 |
자바의 객체지향특징 (OOP : Object Oriented programming) (0) | 2009.06.23 |