부트캠프 기록/Section1

[Java] 객체지향 프로그래밍 기초/10- 11일차 기록

bbangduck 2022. 9. 5. 14:43
  1. 클래스와 객체 (≒설계도와 제품)
    • 클래스: 객체를 생성하는데 사용되는 틀
    • 객체와 인스턴스의 차이: 객체가 인스턴스를 포함하는 포괄적인 의미를 가짐, 인스턴스는 클래스와의 관계를 강조
    • 클래스의 4가지 요소: 필드, 메서드, 생성자, 이너클래스
    • 객체는 크게 속성과 기능으로 구성됨
    • 클래스명 참조변수명; //참조변수는 스택에 저장
    • 참조변수명 = new 생성자(); //생성된 객체를 힙에 저장
  2. 필드와 메서드
    • 세가지 종류의 변수: 클래스 변수, 인스턴스 변수, 지역 변수 
    • 각각의 변수가 저장되는 위치, 그 차이
      • 클래스 영역 - 메서드, 스태틱 변수
          • 클래스 영역에 데이터 공간을 공유 => 객체 생성과 상관없이 언제든 사용가능
      • 힙 영역 - 객체(필드, 메서드, 이너클래스
        • 메서드는 클래스 영역에 저장되고, 힙 영역에서는 클래스 영역의 주소값을 저장함
        • 힙 영역에 저장된 데이터들은 객체가 사라지기 전까지 사라지지 않음
      • 스택 - 배열, 지역 변수, 매개 변수
        • 스택 영역에 저장된 데이터들은 데이터를 사용하는 함수 콜이 끝나면 사라짐
      • 필드 변수에 속하는 클래스 변수와 인스턴스 변수의 차이점: static키워드
    • static 특징
      • 정적 멤버는 객체 간 공유
      • 정적 메서드에서 인스턴스 변수 또는 인스턴스 메서드 사용 불가능
    • 메서드의 구성요소와 호출: 메서드 시그니처, 메서드 바디, 포인트 연산자
    • 메소드 오버로딩의 개념과 장점 
      • 하나의 클래스 안에 동일한 이름을 가진 여러 메서드 정의
      • 매개변수의 개수나 타입이 꼭 달라야 함
  3. 생성자
    • this 와 this() 차이
      • this() : 자식이 속한 클래스에사 다른 생성자를 호출, 생성자 내부에서만 사용 , 생성사의 첫 줄에 위치
      • this: 인스턴스 변수와 매개 변수를 구분, 인스턴스 자신을 가리킴
  4. 내부클래스
    • 멤버 내부 클래스
    • 지역 내부 클래스