10/5

Seunghee Ryu·2023년 10월 5일
0

TIL

목록 보기
1/15

10/5

  • 클래스
    - 데이터와 함수의 결합
    - 데이터 처리를 위한 데이터 저장 형태의 발전 과정

    • 변수 -> 배열 -> 구조체 -> 클래스
    • 변수 : 하나의 데이터를 저장할 수 있는 공간
    • 배열 : 같은 종류의 여러 데이터를 하나의 집합으로 저장할 수 있는 공간
    • 구조체 : 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장할 수 있는 공간
    • 클래스 : 데이터와 함수의 결합(구조체 + 함수), 사용자 정의 타입
  • 변수와 메서드
    - 변수의 종류

    • 변수가 선언된 영역에 따라 다름
      • 클래스 영역
        - 인스턴스 변수 : 클래스 영역에 선언되며 클래스의 인스턴스를 생성할 때 만들어진다. 그렇기 때문에 인스턴스 변수의 값을 읽어 오거나 저장하기 위해서는 먼저 인스턴스를 생성해야 한다. 인스턴스는 독립적인 저장공간을 가지므로 서로 다른 값을 가질 수 있다. 인스턴스마다 고유한 상태를 유지해야 하는 속성의 경우, 인스턴스 변수로 선언한다.
        - 클래스 변수(static 변수, 공유 변수) : 클래스 변수를 선언하는 방법은 인스턴스 변수 앞에 static을 붙이기만 하면 된다. 인스턴스마다 독립적인 저장공간을 갖는 인스턴스 변수와 달리 클래스 변수는 모든 인스턴스가 공통된 저장공간을 공유하게 된다. 한 클래스의 모든 인스턴스들이 공통적인 값을 유지해야 하는 속성의 경우, 클래스 변수로 선언한다.
        인스턴스를 생성하지 않고도 언제라도 바로 사용할 수 있다는 특징이 있으며 클래스 이름.클래스 변수와 같은 형식으로 사용한다. 클래스가 메모리에 로딩될 때 생성되어 프로그램이 종료될 때까지 유지되며, public을 붙이면 같은 프로그램 내에서 어디서나 접근할 수 있는 전역변수의 성격을 갖는다.
      • 메서드 영역
        - 지역변수 : 메서드 내에 선언, 메서드 내에서만 사용 가능, 메서드가 종료되면 소멸되어 사용할 수 없다. for문 또는 while문의 블럭 내에 선언된 비역 변수는 지역 변수가 선언된 블럭 내에서만 사용 가능하며 블럭을 벗어나면 소멸되어 사용할 수 없다.
    • 클래스 변수와 인스턴스 변수
      • 인스턴스 변수는 인스턴스가 생성될 때마다 생성되므로 인스턴스마다 각기 다른 값을 유지할 수 있지만 클래스 변수는 모든 인스턴스가 하나의 저장 공간을 공유하므로 항상 공통된 값을 갖는다.
  • 프록시 패턴과 AOP
    - 프록시 패턴이란?

    • 프록시 객체는 원래 객체를 감싸고 있는 객체. 원래 객체와 타입은 동일. 프록시 객체가 원래 객체를 감싸서 client의 요청을 처리하게 하는 패턴. 프록시 패턴은 접근을 제어하고 싶거나, 부가 기능을 추가하고 싶을 때 사용
  • 스프링 AOP
    - 런타임시 동적으로 프록시 객체를 만들어주는게 스프링 AOP

0개의 댓글