'Java'에 해당되는 글 32건
- 2009.01.12 Java 클래스 형변환
- 2009.01.12 Java 클래스 상속(2)
- 2009.01.09 Java 의 클래스 상속
- 2009.01.04 has a(has-a) 관계, is a(is-a) 관계
- 2009.01.04 JVM 가비지 콜렉터(garbage collector)
- 2009.01.04 배열, 주소값복사, 값복사(Call by Value, Call by Reference)
- 2009.01.04 자바의 package, 상수, 배열
- 2009.01.04 객체지향의 특징, Java의 접근제한자, 상수, JVM의 메모리 관리 영역
- 2009.01.04 클래스 구성요소, 생성자
- 2009.01.04 Java 객체지향(OOP)의 개념
Java2009. 1. 12. 21:37
Java2009. 1. 12. 21:33
Java2009. 1. 9. 02:22
- 클래스 상속: 기존에 클래스에 인스턴스 변수와, 인스턴스 메소드를 다시 선언하지 않고 재사용하는 것.
- 클래스 상속에서 생성자는 상속되지 않는다. 서브 클래스에서 따로 생성자를 구현해 주어야 한다.
- 부모 클래스에서 private으로 선언된 변수나 메소드는 상속되지 않는다.
- 부모 클래스는 캡슐화 시키지 않는다.(private선언 자재)
- 상속 3가지: 재사용, 추가, 재정의
- 클래스에 명시적으로 extends를 선언하지 않으면 자동으로 extents object로 선언된다.
- 메소드 오버라이딩: 부모클래스에서 정의된 메소드를 자식 클래스에서 재정의 한다.(다형성)
- final: 변수에 붙을경우 상수처리한다.
클래스에 붙을경우 더이상 자식 클래스를 못 만들게 한다.
메소드에 붙을경우 더이상 자식 클래스에서 재정의를 못 하게 한다.
- 출력하는 메소드에 리턴 타입에 void를 사용하면 도스에서 밖에 사용할 수 없다.
- toString을 overriding해야하는 이유: 클래스를 선언하여 출력하여 보면 선언된 클래스의 해쉬 코드와 클래스 이름이 출력되는데, toString을 오버라이딩 하면 그 클래스의 역할이나 내용을 알아보기 쉽게 할수 있다.
- 컴파일시 import java.lang.*; 가 자동으로 된다.
- 클래스 상속에서 생성자는 상속되지 않는다. 서브 클래스에서 따로 생성자를 구현해 주어야 한다.
- 부모 클래스에서 private으로 선언된 변수나 메소드는 상속되지 않는다.
- 부모 클래스는 캡슐화 시키지 않는다.(private선언 자재)
- 상속 3가지: 재사용, 추가, 재정의
- 클래스에 명시적으로 extends를 선언하지 않으면 자동으로 extents object로 선언된다.
- 메소드 오버라이딩: 부모클래스에서 정의된 메소드를 자식 클래스에서 재정의 한다.(다형성)
- final: 변수에 붙을경우 상수처리한다.
클래스에 붙을경우 더이상 자식 클래스를 못 만들게 한다.
메소드에 붙을경우 더이상 자식 클래스에서 재정의를 못 하게 한다.
- 출력하는 메소드에 리턴 타입에 void를 사용하면 도스에서 밖에 사용할 수 없다.
- toString을 overriding해야하는 이유: 클래스를 선언하여 출력하여 보면 선언된 클래스의 해쉬 코드와 클래스 이름이 출력되는데, toString을 오버라이딩 하면 그 클래스의 역할이나 내용을 알아보기 쉽게 할수 있다.
- 컴파일시 import java.lang.*; 가 자동으로 된다.
Java2009. 1. 4. 22:09
Java2009. 1. 4. 21:55
Java2009. 1. 4. 21:50
Java2009. 1. 4. 21:47
- 상수: public, final, static 상수명 = ""; -> 상수명에는 대문자_의미 로 선언하는 것이 좋다 ex)INT_MAX
- 배열은 자료형이 레퍼런스 형이다.
- package는 구분자가 \,/아니라 .이다
package명은 소문자로 정의하는 것이 관례이다.
- package 컴파일: ex) javac -d . MyClass.java
- package를 실행할 경우 package상위 폴더에서 패키지 명을 다 입력해 주어야 실행된다.
- 역컴파일: javap
- 배열: 동일한 데이터 타입을 가지는 데이터형을 일괄처리를 위하여 쓴다. ex) 계란판
- 2차원 배열의 특징: 배열의 배열, 첫번째 배열은 레퍼런스 2번째 배열을 가리키는 주소값이 들어간다.
2번째 배열에 값이 들어감.
- 배열은 자료형이 레퍼런스 형이다.
- package는 구분자가 \,/아니라 .이다
package명은 소문자로 정의하는 것이 관례이다.
- package 컴파일: ex) javac -d . MyClass.java
- package를 실행할 경우 package상위 폴더에서 패키지 명을 다 입력해 주어야 실행된다.
- 역컴파일: javap
- 배열: 동일한 데이터 타입을 가지는 데이터형을 일괄처리를 위하여 쓴다. ex) 계란판
- 2차원 배열의 특징: 배열의 배열, 첫번째 배열은 레퍼런스 2번째 배열을 가리키는 주소값이 들어간다.
2번째 배열에 값이 들어감.
Java2009. 1. 4. 21:39
- 접근 제한자: public, protected, 생략(default), private
클래스 앞에는 public, default만 가능하다. 인스턴스 변수, 인스턴스 메소드는 4가지다 가능.
- 클래스 변수: static으로 선언된 변수
- JVM의 메모리 관리 영역
static(클래스, 소스코드), stack(지역변수), heap(인스턴스) 3개 영역으로 관리
- static: 정적, 공유를 하기위한 기타 제한자
static으로 선언된 클래스의 변수나 메소드는 클래스 이름으로 접근하면 좋다.
- 객체지향의 4가지 특징: 추상화, 캡슐화, 상속성, 다형성
- 다형성: 동일한 메소드지만 입력에 따라 나오는 형태가 다르다.
이것을 지원하는 것중 하나가 메소드 오버로딩, 오버라이딩)
- 상수(final): 바뀌지 않는값의 선언
클래스 앞에는 public, default만 가능하다. 인스턴스 변수, 인스턴스 메소드는 4가지다 가능.
- 클래스 변수: static으로 선언된 변수
- JVM의 메모리 관리 영역
static(클래스, 소스코드), stack(지역변수), heap(인스턴스) 3개 영역으로 관리
- static: 정적, 공유를 하기위한 기타 제한자
static으로 선언된 클래스의 변수나 메소드는 클래스 이름으로 접근하면 좋다.
- 객체지향의 4가지 특징: 추상화, 캡슐화, 상속성, 다형성
- 다형성: 동일한 메소드지만 입력에 따라 나오는 형태가 다르다.
이것을 지원하는 것중 하나가 메소드 오버로딩, 오버라이딩)
- 상수(final): 바뀌지 않는값의 선언
Java2009. 1. 4. 21:29
- 클래스 구성 요소: 인스턴스 변수, 인스턴스 메소드, 생성자 ...
- 생성자
객체 생성시에 개발자가 인스턴스 변수를 초기화하는 목적(메소드)
오직 생성할 때 한번만 호출할 수 있다.
생성자 이름은 클래스 명칭과 동일
생성자를 정의하지 않을경우 컴파일러가 자동으로 생성자를 만든다(디폴트 생성자)
생성자 오버로딩: 생성자를 여러개 선언할 수 있다.
- 생성자 오버로딩의 제약사항: 매개변수의 개수가 다르거나, 또는 데이터 타입이 달라야 중복
정의할 수 있다.
- this: 자기자신의 속성을 참조하기 위해서 쓰인다(레퍼런스)
this(): 자기자신의 생성자 호출(x.x() 형식의 호출이 안되므로)
- 도큐먼트 볼때: 메소드의 리턴타입 -> 매개변수 -> 메소드 이름
- 생성자
객체 생성시에 개발자가 인스턴스 변수를 초기화하는 목적(메소드)
오직 생성할 때 한번만 호출할 수 있다.
생성자 이름은 클래스 명칭과 동일
생성자를 정의하지 않을경우 컴파일러가 자동으로 생성자를 만든다(디폴트 생성자)
생성자 오버로딩: 생성자를 여러개 선언할 수 있다.
- 생성자 오버로딩의 제약사항: 매개변수의 개수가 다르거나, 또는 데이터 타입이 달라야 중복
정의할 수 있다.
- this: 자기자신의 속성을 참조하기 위해서 쓰인다(레퍼런스)
this(): 자기자신의 생성자 호출(x.x() 형식의 호출이 안되므로)
- 도큐먼트 볼때: 메소드의 리턴타입 -> 매개변수 -> 메소드 이름
Java2009. 1. 4. 21:19
- 객체를 사용하는 가장 큰이유: 재사용 (객체에서 더 커진의미: 컴포넌트)
- 객체(클래스)가 메모리에 올라가면 소프트웨어 객체(인스턴트)가 된다.
메모리에 할당하는건 JVM(자바 버추얼 머신)
- 클래스
개발자가 바라보는쪽: 하나의 데이터 타입(유형)
JVM에 바라보는쪽: 설계도(청사진)
- 객체지향 프로그래밍 절차
1. 객체 모델링(정보 추출)
2. 클래스 설계(추상화)
3. 인스턴스 생성/사용(실제 프로그래밍에 사용)
- 클래스에 사용하는 변수: 인스턴스 변수
클래스에 사용하는 메소드: 인스턴스 메소드
메인 메소드를 포함하는 클래스: 어플리케이션 클래스
일반적인 클래스: 데이터 클래스
인스턴스 변수는 클래스 내부의 모든 인스턴스 메소드에서 사용 가능하다.
생성될때 인스턴스 변수는 자동 초기화 된다.
- 객체(클래스)가 메모리에 올라가면 소프트웨어 객체(인스턴트)가 된다.
메모리에 할당하는건 JVM(자바 버추얼 머신)
- 클래스
개발자가 바라보는쪽: 하나의 데이터 타입(유형)
JVM에 바라보는쪽: 설계도(청사진)
- 객체지향 프로그래밍 절차
1. 객체 모델링(정보 추출)
2. 클래스 설계(추상화)
3. 인스턴스 생성/사용(실제 프로그래밍에 사용)
- 클래스에 사용하는 변수: 인스턴스 변수
클래스에 사용하는 메소드: 인스턴스 메소드
메인 메소드를 포함하는 클래스: 어플리케이션 클래스
일반적인 클래스: 데이터 클래스
인스턴스 변수는 클래스 내부의 모든 인스턴스 메소드에서 사용 가능하다.
생성될때 인스턴스 변수는 자동 초기화 된다.