자바 기초 다지기 1

Jiyeong·2022년 11월 21일
0

JAVA

목록 보기
24/31

변수

: 메모리의 위치

참조 자료형 : 클래스를 변수의 자료형으로 사용

- JDK가 제공하는 클래스 : String name
- 직접 구현한 클래스로 선언된 변수 : Student Lee

클래스

: 객체지향 프로그램의 가장 기본 단위

  • 오브젝트 코드화

  • 하나의 객체를 표현하는 코드 상태

  • 멤버 변수와 메서드로 구성

  • 클래스 대부분 대문자로 시작

  • 1개의 자바 파일에 1개의 클래스가 원칙

  • 여러 개의 클래스가 있는 경우, public 클래스는 단 하나이며 파일명 동일

  • 자바의 모든 코드는 클래스 내부에 위치

  • 속성은 클래스의 변수로 선언

  • 클래스로 선언한 변수를 멤버 변수라고 함

호스트네임 ADsccmadmin

멤버 변수

  • 모든 객체의 속성은 멤버 변수에 의해 변경
  • 멤버 변수의 다른 말 : member variable, attribute, property, data field
  • 멤버 변수 선언 <접근제어자> <자료형> <변수명>:

메서드

  • 멤버 변수를 사용해 클래스 기능 구현
  • 외부로부터 멤버 변수를 보호하는 역할
  • 메서드 이름은 클래스를 사용하는 입장에서 명명

웹은 request가 처리되는 클래스들이 구동되는 방식
웹은 메인클래스로부터 구동되지 않음

패키지

  • 소스의 묶음 카테고리
  • 소스를 계층구조로 관리하도록 구성
  • 소문자로 명명

new로 생성한 class를 인스턴스라고 함

객체의 멤버에 접근

  • <참조변수>.<멤버>
  • 참조변수를 통해 객체의 멤버 변수와 메서드에 접근 가능
  • 단 멤버의 접근제한자가 private인 경우 접근 불가

<<용어 정리>>

  • 객체 : 객체 지향 프로그램의 대상, 생성된 인스턴스
  • 클래스 : 객체를 프로그래밍하기 위해 코드로 만든 상태
  • 인스턴스 : 클래스가 메모리에 생성된 상태
  • 멤버 변수 : 클래스의 속성, 특성
  • 메서드 : 멤버변수를 이용해 클래스 기능 구현
  • 참조 변수 : 메모리에 생성된 인스턴스를 가리키는 변수
  • 참조 값 : 생성된 인스턴스의 메모리 주소 값

생성자

: 객체를 생성할 때 초기화할 명령어의 집합
- 메서드가 아님
- 객체 생성 시 호출
- 상속 x, 리턴 값 x
생성자의 역할 : class를 instance로 만들 때 호출됨
생성자의 호출 : 일반 메서드 -> 참조 변수를 이용해서 항상 호출 가능
생성자 -> new로 호출

생성자의 이름 = 클래스의 이름

  • 하나의 클래스에는 하나 이상의 생성자가 존재
  • 프로그래머가 생성자를 기술하지 않으면 기본 생성자가 자동으로 생김(컴파일러가 코드에 넣어줌)
    - 기본 생성자는 인수 및 구현부가 없음
  • 만약 클래스에 아규먼트가 있는 다른 생성자를 추가하면 기본 생성자는 제공되지 않음
    - 생성자는 주로 멤버 변수를 초기화하는 일을 함

생성자 오버로딩 : 매개변수를 달리하는 생성자를 여러 개 선언

  • 클래스에 생성자가 두 개 이상 제공되는 것
  • 매개변수가 다른 여러 개 생성자를 만들 수 있음
  • 주로 멤버 변수 초기화를 위한 생성자 구현
  • 매개변수가 있는 생성자를 구현하는 경우 컴파일러는 기본 생성자를 제공하지 않음

접근 제어자

  • private 선언은 정보 은닉 제공.
  • 객체 생성 시 감춘 변수를 넣는 방법은
    생성자에서 매개변수를 넘김 -> 매개변수에 의해 초기화 -> 변수가 들어감

모든 멤버 변수를 private하지 않는 이유

  • 외부 변수 접근에 제한을 받을 수 있음
    -> 필요한 변수만 private하게 하기
  • 정보 은닉(private)을 활용한 경우
  1. get만 제공하고 set을 제공하지 않으면 외부에서 값을 바꿀 수 없음
  2. 변수에 대한 오류를 막을 수 있음

this

private 사용 시 정보 사용 및 오류 방지 가능
인스턴스 변수와 매개변수가 다를 경우 this를 사용하지 않음

this의 역할

  1. 자신의 주소를 가리킬 때
  2. 생성자에서 다른 생성자를 호출할 때 super = this 역할
  3. 자기 자신을 반환할 때

this 사용 시 주의할 점

  • 생성자의 역할은 인스턴스의 생성

  • 인스턴스 생성이 완료되지 않은 시점에서 다른 코드가 있을 시 오류 발생

  • 생성자에서 다른 생성자를 호출하는 this

  • 자기 자신을 반환하는 this -> return this

static

  • class attribute, class method로 불림
  • 다른 언어에도 비슷한 개념으로 사용하고 있는 변수
  • static 변수를 사용해 모든 인스턴스가 동일한 값 참조 가능
  • static variable과 static method는 객체를 생성하지 않고 사용 가능
  • static 변수는 인스턴스 생성과 상관없이 먼저 생성

static의 특징

  1. 인스턴스가 공통으로 사용하는 것
  2. new할 때 생기는 변수는 아님
  3. 인스턴스와 상관없이 먼저 생성됨
  • static 변수와 메서드는 클래스에 기반한 변수
  • static 변수는 인스턴스 생성과 상관없이 사용 가능
  • static 변수는 생성 시점이 인스턴스 변수와 다름

static 변수 / static 메서드 = 클래스 변수 / 클래스 메서드
static 메서드에서는 인스턴스 변수 사용 불가
static 변수는 객체의 생성과 상관없이 바로 사용 가능

변수의 종류별로 사용하는 메모리, 생성 시기, 생존 주기 등이 다르다.

profile
깃스타가 되고 싶은 벨플루언서

0개의 댓글