[Java] 클래스, 객체, 메서드, 생성자

2024. 3. 30. 00:24· Language/Java
목차
  1. 클래스 (Class)란?
  2. 객체 (Object)란?
  3. 메서드 (Method)란?
  4. 생성자 (Constructor)란?
  5. OUTRO

 


클래스 (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
  1. 클래스 (Class)란?
  2. 객체 (Object)란?
  3. 메서드 (Method)란?
  4. 생성자 (Constructor)란?
  5. OUTRO
'Language/Java' 카테고리의 다른 글
  • [Java] 불변 객체 (Immutable Object)란?
  • [Java] 기본형과 참조형(Primitive Type & Reference Type)
  • [Java] 연산자 (Operator)
  • [Java] 변수와 데이터 타입이란?
苦盡甘來
苦盡甘來
이미지 참조 강아지 아이콘 제작자: justicon - Flaticon
苦盡甘來
소스 굽는 현이
苦盡甘來
전체
오늘
어제
  • 전체 글 (15)
    • 회고록 (1)
    • Project (0)
      • Team (0)
      • Individual (0)
    • Language (8)
      • Java (8)
      • JavaScript (0)
    • Back-End (3)
      • Spring (3)
    • Front-End (1)
      • HTML (1)
      • jQuery(ajax) (0)
    • DataBase (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 기본형
  • 컨테이너
  • 사이드 이펙트
  • 불변 객체
  • bean
  • 참조형
  • 의존성주입
  • spring boot
  • spring
  • IOC
  • 클래스
  • 생성자
  • jvm
  • 회고록
  • JDK
  • Database
  • Thymeleaf
  • 메서드
  • 객체
  • JRE

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
苦盡甘來
[Java] 클래스, 객체, 메서드, 생성자
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.