Class
Class 클래스
- C언어
- 구조체(struct) , 공용체(union)
- 변수로 구성되어 있다.
- JAVA : class
- 변수와 함수로 구성되어 있다.
- 자바 클래스의 구성
- 멤버변수(field) + 멤버함수(method)
클래스 명은 식별자와 같지만 무조건 첫글자는 대문자로 준다.
접근허용범위 Access Modifier
접근지정, 접근제어, 접근수정
- private : 비공개
- package : 생략가능, 같은 폴더 내에서만 접근가능
- protected : 다른 패키지라도 상속관계에서는 접근가능
- public : 공개
1 |
|
- 클래스는 메모리를 할당을 한 후 사용한다.
- new 연산자 : 메모리할당 연산자
- new를 하면 heap공간에 메모리를 할당.
- new 클래스명();
- 객체(Object) : 함수가 있으면 객체, 함수가 없으면 변수
- new 연산자를 이용해서 메모리 할당을 함
예시
kim > #50(예시)번지를 참조하는 변수
Sungjuk kim=new Sungjuk();
lee > #70(예시)번지를 참조하는 변수
Sungjuk lee=new Sungjuk();
객체의 주소값
- 주소값 확인하는 hashCode
kim.hashCode()
lee.hashCode()
1 |
|
생성자 함수(constructor)
- 클래스명과 동일한 함수
- 기본생성자(default constructor) : 매개변수가 없다.
- 기본생성자 함수는 자동코딩
- 이클립스 상단메뉴 Source > Generate Constructors from Superclass…
- 매개변수가 있는 생성자 함수 자동추가
- 이클립스 상단 메뉴 Source > Generate Constructors using fields…
- 대부분 기본생성자함수는 필요가 없어도 수동으로 작성한다.
- 단, 기본생성자함수는 생성자 함수가 오버로딩이 되면 자동추가 되지 않는다. 강제적으로 선언하는 것을 강추.
- 기본생성자 함수는 자동코딩
1 |
|
-
생성자 함수는 리턴형이 존재하지 않는다!
- public void School(){} > 가능
-
생성자 함수도 오버로딩(overloading)이 가능하다.
생성자 함수가 많은게 좋다. 할 일이 줄어들기 때문이다.
This
this
- 자신의 클래스 멤버를 가리킴
- 일반변수와 멤버변수를 구분하기 위함.
this()
- 생성자 함수간의 호출
- 생성자 함수가 생성자 함수를 호출할 수 있다.
- 생상자 함수를 호출하려 할때는 첫줄에서 한다.
- 일반 함수에서는 this를 사용할 수 없다.(생성자 함수 호출 불가능)
1 |
|
기본 클래스
1 |
|
Integer 클래스
1 |
|
- Integer.parseInt(); : 문자열 안에 있는 숫자기호를 정수형으로 변환
String 클래스
- String
- StringBuffer
- StringBuilder
- StringTokenizer : java.util
1 |
|
- 문자열의 내용을 비교하는 경우 같다 연산자(==)를 사용하지 말고 equals() 함수를 사용.
1 |
|
Wrapper 클래스
- 클래스 이름이 Wrapper가 아니라 통칭해서 부름.
- 기본 자료형을 참조형화 해놓은 클래스들
- java.lang 패키지에 선언되어 있음
- 기본형
- boolean, byte, int, long, float, double, char
- 참조형
- Boolean, Byte, Integer, Long, Float, Double, Character
- 참조형이 된다는 것은 . 이 된다는것 > 다양한 기능을 사용할 수 있음
1 |
|
1 |
|
1 |
|
1 |
|