[Java] 객체지향 프로그래밍 기초

허성은·2022년 7월 16일
0

JAVA

목록 보기
2/3

👀 자바의 데이터 타입

cf) 자바에서 데이터를 다루는 최소단위 : 1 byte (8 bit)

기본형(privitive type)

  • 실제 값(data) 저장
  • 참조형 변수 간의 연산을 할 수 없으므로 실제 연산에 사용되는 것은 모두 기본형 변수임
  1. 논리형 - boolean (default : false, 1 byte)
  2. 문자형 - char (2 byte 양수 유니코드 정수)
  3. 정수형 - byte, short (2), int (4), long (8)
  4. 실수형 - float(4), double(8)

참조형(reference type)

  • 어떤 값이 저장되어 있는 주소(memory address)를 값으로 갖음
  • 8개의 기본형을 제외한 나머지 타입

👀 클래스(Class)와 객체(Object)

클래스

  • 객체를 정의한 '설계도(blueprint)' 또는 '틀(frame)’
  • 객체를 생성하는데 사용

객체

  • 클래스에 정의되고 설계된 내용 그대로 생성됨
  • 속성(property) : member variable, attribute, field, state
  • 기능(function) : method, function, behavior

👀 생성자(Constructor)

  • 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'
  • 클래스 내에 선언되며, 리턴값이 없음
  • 생성자의 이름과 클래스 이름이 동일해야 함
  • 인스턴스는 생성자가 생성하는 것이 아니라 연산자 new가 생성
  • 인스턴스 변수들을 초기화하는 데 사용되는 특수한 메서드

this() : 생성자

  • 반드시 생성자의 내부에서만 사용할 수 있음
  • 반드시 생성자의 첫 줄에 위치해야 함

this : 참조변수

  • 인스턴스 자신을 가리키는 참조변수로, 인스턴스의 주소가 저장되어 있음
  • 모든 인스턴스 메서드에 지역변수로 숨겨진 채로 존재

👀 static 키워드

  • '클래스의' 또는 '공통적인'의 의미를 가짐
  • 하나의 클래스로부터 생성되었더라도 각기 다른 값을 갖는 인스턴스 변수와 달리 클래스 변수(static 멤버 변수)는 하나의 변수를 모든 인스턴스가 공유하기 때문에, 인스턴스에 관계없이 동일한 값을 가짐
  • 인스턴스를 생성하지 않고도 호출 가능

👀 내부 클래스(Inner Class)

장점

  • 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있음
  • 코드의 복잡성을 줄일 수 있음 (캡슐화 encapsulation)

멤버 내부 클래스

  • 인스턴스 내부 클래스와 정적 내부클래스
  • 외부 클래스의 멤버변수 선언위치에 선언

지역 내부 클래스

  • 외부 클래스의 메서드나 초기화블럭 안에 선언

0개의 댓글