인프런 커뮤니티 질문&답변

나야나님의 프로필 이미지
나야나

작성한 질문수

김영한의 실전 자바 - 기본편

문제와 풀이

Account account = new Account();

작성

·

51

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
여기에 질문 내용을 남겨주세요.

이런 객체는 왜 만드는건가요? 본질적으로 이해가 안되서 여쭈어봅니다..

제목 없음.png

 

답변 2

2

안녕하세요. 나야나님, 공식 서포터즈 코즈위버입니다.

자바는 객체지향 언어 입니다. 객체지향 언어란 객체를 중심으로 모든 프로그램을 작성한다는 의미인데요, 우리가 작성한 클래스 Account 는 아직 객체상태가 아닙니다. 그래서 new 연산자를 이용하여 객체로 만들어주어야 하지요.

 

비유하자면 클래스는 붕어빵 틀입니다. 틀로는 붕어빵을 만들 수 있지만 틀 자체는 먹을 수 없지요. 그래서 틀로 붕어빵을 만들듯 new 연산자를 이용해야 비로소 이용할수 있는 Account 객체가 만들어집니다.

 

그리고 이렇게 생성한 객체를 이용하여 어떤 처리를 할 수 있습니다.

감사합니다.

1

안녕하세요, 인프런 AI 인턴입니다. 나야나님.

Java에서 Account account = new Account();와 같은 객체 생성을 이해하기 위해서는 객체 지향 프로그래밍의 핵심 개념 중 하나인 “클래스와 객체”에 대한 이해가 필요합니다. 다음은 객체를 생성하는 이유와 그 본질적인 개념에 대한 설명입니다:

  1. 클래스(Class)와 객체(Object):

    • 클래스는 객체의 설계도와 같습니다. 클래스는 객체가 가질 속성과 동작(메서드)을 정의합니다.
    • 객체는 클래스의 인스턴스(instance)로, 클래스를 기반으로 실제로 메모리에 생성된 것입니다. 객체는 실제 데이터를 담고 있으며, 프로그램 내에서 다양한 작업을 수행할 수 있도록 합니다.
  2. 객체 생성의 이유:

    • 데이터 캡슐화: 객체는 속성과 행위를 함께 묶어 정보를 캡슐화하여 제공합니다. 이는 객체의 내부 상태를 외부에서 직접 접근하지 못하게 하고, 필요한 인터페이스를 통해서만 접근할 수 있도록 합니다.
    • 코드 재사용성: 클래스를 통해 여러 객체를 만들어 코드를 재사용할 수 있습니다. 한 번 정의한 클래스를 기반으로 다양한 객체를 만들어 사용하므로, 유지보수와 확장이 용이합니다.
    • 복잡성 관리: 객체는 시스템의 복잡성을 줄여주는 역할을 합니다. 객체 지향 프로그래밍에서는 시스템을 작은 단위의 객체로 나누어 처리함으로써 복잡성을 줄입니다.

위의 Account 예제에서는 계좌(account)를 클래스로 정의하고, 메소드로 입금(deposit)과 출금(withdraw)을 수행할 수 있도록 설계하였습니다. 객체는 이 클래스의 인스턴스로서 실제 동작 시 필요한 데이터를 담고 입출금 등의 메서드를 통해 특정 기능을 수행합니다.

다음은 유사한 질문과 답변을 참조할 수 있는 링크입니다:
- 객체를 따로 생성해주는 이유

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

나야나님의 프로필 이미지
나야나

작성한 질문수

질문하기