09. 객체

2022. 10. 2. 03:44·Java/Java 개념

객체

  • 객체 지향언어
  • 클래스
  • 추상화
  • 클래스로 표현
  • 객체란?
  • 객체 지향의 3대 특징
  • 캡슐화

객체 지향언어:
  • 자바에서 객체란 클래스에 정의된 내용으로 new 연산자를 통해 메모리 영역에 생성된 것을 말한다.

 

클래스:
  • 객체의 특성에 대한 정의를 한 것으로 캡슐화를 통해 기능을 포함한 개념, 사물이나 개념의 공통 요소를 추상화하여 정의

 

추상화:
  • 프로그램에서 필요한 공통점을 추출하고, 불필요한 공통점을 제거하는 과정
ex) 회원 정보
1. 추상화: 이름, 성별, 주소, 나이 등
2. 프로그래밍 언어를 사용해 변수명과 자료형을 정리함

 

항목 변수명 자료형
주민등록번호 pNo String
이름 name String
주소 address String
전화번호 phone String
성별 gender char
나이 name int

 

클래스 표현

 

 객체란?
  • 클래스에 정의된 내용대로 메모리에 할당된 결과물(Object)이다.

 

객체의 할당

new 연산자와 생성자를 사용하여 객체를 생성하면 heap 메모리 공간에 서로 다른 자료형의 데이터가 연속으로 나열/할당된 객체 공간이 만들어진다. 이를  인스턴스(instance) 라고 한다.

 

객체 지향 3대 특징
  • 캡슐화(Encapsulation)
  • 상속(Inheritance)
  • 다형성(Polymorphism)
  • (추가 특징) 추상화

 

캡슐화
  • 추상화를 통해 정리된 데이터들과 기능을 하나로 묶어 관리하는 기법
  • 클래스 외부에서의 데이터의 직접 접근을 막고, 데이터를 처리하는 함수들을 클래스 내부에 작성하는 방법

 

캡슐화 원칙
  • 클래스의 멤버 변수에 대한 접근 권한은 private을 원칙으로 함
  • 클래스의 멤버 변수에 대한 연산처리를 목적으로 하는 함수들을 클래스 내부에 작성한다.
  • 멤버 함수는 클래스 밖에서 접근할 수 있도록 public으로 설정을 한다.
저작자표시 (새창열림)

'Java > Java 개념' 카테고리의 다른 글

11. 패키지(package) 와 임포트(import)  (0) 2022.10.02
10. 클래스(Class)와 필드(Field)  (0) 2022.10.02
08. 2차원 배열  (0) 2022.10.02
07. 배열  (0) 2022.10.02
06. 제어문 - 반복문, 분기문  (0) 2022.10.02
'Java/Java 개념' 카테고리의 다른 글
  • 11. 패키지(package) 와 임포트(import)
  • 10. 클래스(Class)와 필드(Field)
  • 08. 2차원 배열
  • 07. 배열
ljheayeee
ljheayeee
https://github.com/ljheayeee
  • ljheayeee
    ljheayeee
    ljheayeee
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • 항해 학습 일지 (1)
      • programming (0)
      • 알고리즘 공부 (0)
      • 개발자 면접 질문 정리 (1)
      • 막 저장하는 모르는 부분들 (7)
        • Algorithm (1)
        • terminal (3)
        • Visual Studio Code (0)
        • Git 에러 (0)
        • Eclipse (0)
        • Git (0)
        • 맥북 (1)
      • CS (10)
      • Java (35)
        • Java 개념 (24)
        • java 에러 (0)
        • java 메소드 (10)
        • JSP (1)
      • Spring (1)
        • 개념정리 (0)
      • HTML (1)
        • HTML (1)
      • 1일 1영어 (1)
      • Database (3)
        • Database 개념 (3)
      • 나만 알고 싶은 인터넷 강의들 (1)
      • 개발자가 되기 위한 것들 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    개발자포트폴리오
    ±#~#맥북#mac
    개발자이력서
    코딩테스트
    취리코
    개발자취준
    항해99
    취업리부트코스
    개발자취업
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
ljheayeee
09. 객체
상단으로

티스토리툴바