
클래스 (Class)란?
💡 객체를 정의 한 것이며, 클래스에는 객체의 모든 속성과 기능이 정의되어있다.
객체의 설계도 또는 틀 이라고 설명할 수 있다.
클래스를 사용하는 이유는 재사용성, 객체를 만드는 기능을 사용하기 위함이다.
public class Example {
// [속성] instance 변수
String str = "";
int num = 0;
// [기능] method
public String getStr() {
return str;
}
}
객체 (Object)란?
💡 실제로 존재하는것이며, 사물 또는 개념이다.
객체의 용도에 따라 객체가 가지고 있는 속성과 기능이 다르다.
클래스에 정의된 내용대로 메모리에 생성된다.
➡️ 속성 (property) : 멤버 변수(member variable), 특성 (attribute), 필드 (field), 상태 (state)
➡️ 기능 (function) : 메서드 (method, 함수 (function), 행위 (behavior)
위 객체에 대한 내용을 알게되면, 인스턴스 (instance)에 대한 내용도 알아야한다.
💡 클래스로부터 객체를 만드는 과정이며,
특정 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스라고 한다.
즉, A라는 클래스에서 만들어진 객체를 A 클래스의 인스턴스라고도 불리어진다.
결국은 객체 = 인스턴스 라고 볼 수 있다.
메서드 (Method)란?
💡 특정 작업을 수행하는 코드를 하나로 묶은 것이다.
클래스에 선언된 함수이다.
public class Example {
/** 선언부
* public : 접근제어자
* int : 반환타입
* insert : 메서드 이름
* () : 타입 변수명
*/
public int insert() { // 선언부
// 메서드 호출 시 수행 될 코드 즉, 구현부이다.
return 1; // 반환 타입이 void가 아니면, return을 사용하여 결과를 반환한다.
}
}
생성자 (Constructor)란?
💡 인스턴스가 생성 될 때 자동으로 호출되는 초기화 메서드이다.
즉, 객체의 초기화를 위해 사용된다.
생성자의 특징
- 클래스 이름과 생성자의 이름은 동일해야 한다.
- 객체가 생성될 때 자동으로 한번 호출된다.
- 메서드와 다르게 리턴 타입이 없다.
- [오버로딩 (Overroding)] 매개변수 조건에 따라 여러 생성자를 작성할 수 있다.
- 별도의 생성자를 작성 했을 시, 기본 생성자는 생성되지 않는다.
생성자 사용법
💡 기본 생성자
모든 클래스에는 반드시 하나 이상의 생성자가 정의 되어야한다.
다만, 생성자가 정의되어 있지 않을 경우, 컴파일러가 기본 생성자를 생성해준다.
public class Example {
// 기본 생성자
public Example() {
}
}
💡 매개변수 생성자
기본 생성자와 달리 매개변수가 있으며,
인스턴스 초기화 작업에 사용이 가능하다.
public class Example {
String str = "";
// 기본 생성자
public Example() {
}
// 매개변수 생성자
public Example(String str) {
this.str = str;
}
}
생성자 주의사항
⚠️ 생성자 정의가 1개라도 되어 있다면, 컴파일러는 기본 생성자를 생성해주지 않는다.
즉, 기본 생성자 없이 매개변수 생성자만 있을 시 Exception이 발생한다.
public class Example {
String str = "";
// 기본 생성자 정의 안함
// 매개변수 생성자
public Example(String str) {
this.str = str;
}
void printStr() {
System.out.println("str = " + str);
}
}
public class ExampleTest {
public static void main(String[] args) {
Example example1 = new Example(); // Exception 발생 (매개변수 생성자가 있기때문에, 기본생성자는 생성이 안됨)
Example example2 = new Example("test");
example1.printStr();
example2.printStr();
}
}

OUTRO
오늘은 간단한 개념만 알아보았습니다.
조만간 this, super 등 필수적으로 알아야 할 내용에 대해서도 다루겠습니다.
그러면 다음 포스팅에서 뵙겠습니다.
'Language > Java' 카테고리의 다른 글
[Java] 불변 객체 (Immutable Object)란? (0) | 2024.04.08 |
---|---|
[Java] 기본형과 참조형(Primitive Type & Reference Type) (0) | 2024.04.06 |
[Java] 연산자 (Operator) (0) | 2024.03.29 |
[Java] 변수와 데이터 타입이란? (0) | 2024.03.26 |
[Java] 자바(Java)란 무엇인가? (0) | 2024.03.25 |

클래스 (Class)란?
💡 객체를 정의 한 것이며, 클래스에는 객체의 모든 속성과 기능이 정의되어있다.
객체의 설계도 또는 틀 이라고 설명할 수 있다.
클래스를 사용하는 이유는 재사용성, 객체를 만드는 기능을 사용하기 위함이다.
public class Example {
// [속성] instance 변수
String str = "";
int num = 0;
// [기능] method
public String getStr() {
return str;
}
}
객체 (Object)란?
💡 실제로 존재하는것이며, 사물 또는 개념이다.
객체의 용도에 따라 객체가 가지고 있는 속성과 기능이 다르다.
클래스에 정의된 내용대로 메모리에 생성된다.
➡️ 속성 (property) : 멤버 변수(member variable), 특성 (attribute), 필드 (field), 상태 (state)
➡️ 기능 (function) : 메서드 (method, 함수 (function), 행위 (behavior)
위 객체에 대한 내용을 알게되면, 인스턴스 (instance)에 대한 내용도 알아야한다.
💡 클래스로부터 객체를 만드는 과정이며,
특정 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스라고 한다.
즉, A라는 클래스에서 만들어진 객체를 A 클래스의 인스턴스라고도 불리어진다.
결국은 객체 = 인스턴스 라고 볼 수 있다.
메서드 (Method)란?
💡 특정 작업을 수행하는 코드를 하나로 묶은 것이다.
클래스에 선언된 함수이다.
public class Example {
/** 선언부
* public : 접근제어자
* int : 반환타입
* insert : 메서드 이름
* () : 타입 변수명
*/
public int insert() { // 선언부
// 메서드 호출 시 수행 될 코드 즉, 구현부이다.
return 1; // 반환 타입이 void가 아니면, return을 사용하여 결과를 반환한다.
}
}
생성자 (Constructor)란?
💡 인스턴스가 생성 될 때 자동으로 호출되는 초기화 메서드이다.
즉, 객체의 초기화를 위해 사용된다.
생성자의 특징
- 클래스 이름과 생성자의 이름은 동일해야 한다.
- 객체가 생성될 때 자동으로 한번 호출된다.
- 메서드와 다르게 리턴 타입이 없다.
- [오버로딩 (Overroding)] 매개변수 조건에 따라 여러 생성자를 작성할 수 있다.
- 별도의 생성자를 작성 했을 시, 기본 생성자는 생성되지 않는다.
생성자 사용법
💡 기본 생성자
모든 클래스에는 반드시 하나 이상의 생성자가 정의 되어야한다.
다만, 생성자가 정의되어 있지 않을 경우, 컴파일러가 기본 생성자를 생성해준다.
public class Example {
// 기본 생성자
public Example() {
}
}
💡 매개변수 생성자
기본 생성자와 달리 매개변수가 있으며,
인스턴스 초기화 작업에 사용이 가능하다.
public class Example {
String str = "";
// 기본 생성자
public Example() {
}
// 매개변수 생성자
public Example(String str) {
this.str = str;
}
}
생성자 주의사항
⚠️ 생성자 정의가 1개라도 되어 있다면, 컴파일러는 기본 생성자를 생성해주지 않는다.
즉, 기본 생성자 없이 매개변수 생성자만 있을 시 Exception이 발생한다.
public class Example {
String str = "";
// 기본 생성자 정의 안함
// 매개변수 생성자
public Example(String str) {
this.str = str;
}
void printStr() {
System.out.println("str = " + str);
}
}
public class ExampleTest {
public static void main(String[] args) {
Example example1 = new Example(); // Exception 발생 (매개변수 생성자가 있기때문에, 기본생성자는 생성이 안됨)
Example example2 = new Example("test");
example1.printStr();
example2.printStr();
}
}

OUTRO
오늘은 간단한 개념만 알아보았습니다.
조만간 this, super 등 필수적으로 알아야 할 내용에 대해서도 다루겠습니다.
그러면 다음 포스팅에서 뵙겠습니다.
'Language > Java' 카테고리의 다른 글
[Java] 불변 객체 (Immutable Object)란? (0) | 2024.04.08 |
---|---|
[Java] 기본형과 참조형(Primitive Type & Reference Type) (0) | 2024.04.06 |
[Java] 연산자 (Operator) (0) | 2024.03.29 |
[Java] 변수와 데이터 타입이란? (0) | 2024.03.26 |
[Java] 자바(Java)란 무엇인가? (0) | 2024.03.25 |