반응형
클래스 기초 및 생성자
클래스란?
- 객체와 비슷한 의미로 현실세계의 물체 또는 개념을 프로그래밍에 적용하기위해서 속성과 기능을 가진 객체로 모델링하고 이를 추상화시킨 것이다.
클래스의 특징
- 클래스 명은 일반적으로 대문자로 시작한다.
- {} 사이에 클래스 내용을 작성해야한다.
- 클래스의 내용은 멤버 변수, 생성자, 멤버 메소드 등으로 구성된다.
- public 접근 권한을 부여하면 외부에서도 클래스를 사용할 수 있다.
인스턴스 생성
인스턴스란?
- 클래스를 메모리에 생성시킨 것이다.
- 클래스는 정의만 되어 있는 추상적인 개념이기 때문에 이를 사용하려면 메모리에 인스턴스가 생성되어야 한다.
인스턴스 생성의 특징
- 클래스를 사용하기 위해서는 인스턴스를 생성해야 한다.
- 인스턴스 생성시 클래스의 생성자를 호출하게 된다.
- 인스턴스를 생성한 후에 클래스 내의 각 멤버에 접근한다.
생성자
생성자란?
- 클래스를 사용하기 위해 인스턴스를 만들 때 최초로 호출되는 문장이다.
- 클래스 내의 생성자를 정의하지 않더라도 자동적으로 default 생성자가 호출된다.
생성자의 특징
- 생성자는 일반적으로 new 연산자에 의해 호출된다.
- 생성자는 반환값이 없다.
- 생성자 명칭은 반드시 클래스 명칭과 동일하게 작성해야 한다.
- 오버로딩 기법을 제공한다.(오버로딩-메소드의 명칭과 반환타입은 같으면서 매개변수의 개수나 타입을 다르게 정의하는 것.
예제 1
예제 2
예제 3
메소드의 정의와 호출
메소드란?
- 클래스의 구성 요소 중 하나로서 객체의 기능을 정의한다.
- 생성자와 달리 반환형을 가진다.
메소드를 정의할 때
- 클래스 내의 메소드를 정의한다.
- 반환형이 void 타입이 아닐 경우 최소한 한 개의 return 문이 필요하다.
예제 4
메소드 오버로딩의 정의
메소드 오버로딩이란?
- 메소드 이름은 같으나, 매개변수의 개수나 타입을 달리하여 정의하는 기법
- 생성자 오버로딩과 비슷하지만 오버로딩된 메소드들간의 반환 타입은 같아야한다.
일반적인 메소드
intAdd(int a, inb){}
floatAdd(float a, float b){}
doubleAdd(double a, double b){}
오버로딩된 메소드
add(int a, into)
add(float a, float b)
add(double a, double b)
예제 5
반응형
'Develop > Java' 카테고리의 다른 글
JAVA this, super 수정자 (0) | 2021.08.08 |
---|---|
JAVA 상속과 접근제어 (0) | 2021.08.08 |
JAVA 객체지향 프로그래밍 (0) | 2021.08.06 |
JAVA 데이터형, 연산자, 제어문, 배열 (0) | 2021.08.06 |
JAVA 개발환경 구축 (0) | 2021.08.06 |