etc/Language
[Java] 개념 구분
whtRy0u
2025. 1. 28. 18:15
Object, 객체 VS Class, 클래스
Object, 객체
특정 실체를 객관화하여 인식하거나 이해하는 대상
데이터와 동작을 하나의 단위로 구조화, 구체적 · 추상적 데이터의 단위
Class, 클래스
객체를 생성하기 위한 설계도 · 청사진
→ 데이터 구조화 · 해당 데이터 관련 메소드 포함
→ 변수와 메소드로 구성
Function, 함수 VS Method, 메소드
Function, 함수
하나의 기능을 수행하는 일련의 코드
Method, 메소드 = 멤버 함수
객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수
Instance, 인스턴스
클래스 기반으로 생성된 객체, 각각 다른 멤버 변수의 값을 가질 수 있음
→ Heap 영역에 할당 됨
* Java에서는 Gabage Collector가 주기적으로 사용하지 않는 메모리 수거
Constructor, 생성자
객체가 생성될 때 호출되는 메소드
class Person {
String name;
int age;
Person(String name, int age) {
// 변수 초기화
this.name = name;
this.age = age;
}
}
public static void main(String[] args) {
Person person = new Person("Allo", 20);
// new와 함께 생성자 Person 호출
}
생성자는 반환 값X, 생성자는 클래스명과 동일
Default Constructor, 기본 생성자
클래스에는 반드시 적어도 하나의 생성자가 존재해야 함. 클래스에 생성자를 구현하지 않아도 new 키워드와 함께 생성자 Person 호출 가능 → 컴파일러가 생성자 코드를 넣어주기 때문
Constructor Overloading, 생성자 오버로딩
생성자를 구현해서 사용할 수 있음. 그러나 생성자를 구현하면 기본 생성자는 제공되지 않음