본문 바로가기
Java/Java 학원 복습

자바 클래스 - 학원

by code2772 2022. 10. 3.

[ 목차 ]

    728x90
    반응형

    # 클래스

    객체지향 프로그래밍(Object Oriented Prigramming) 이란? (OOP)

    추상화된 클래스로 객체를 만들고 객체들 간의 관계를 맺어 상호작용하는

    프로그래밍 기법

    추상화란? (객체 모델링)

    공통적인 특징을 파악하여 하나의 묶음으로 만들어내는 것

    클래스

    1. 사용자 정의 타입이다.

    - 클래스를 사용하면 여러 타입, 여러 값을 저장할 수 있는 저장공간을 만들 수 있다.

    - 클래스 안에 선언된 변수와 메서드를 서용하고 싶다면, 해당 클래스 타입으로 변수를 선언해야 한다.

    2. 연관성 있는 저장공간과 기능을 한 곳에 모아 편하게 관리할 수 있다.

    - 저장공간과 기능을 나누어 관리하게되면 코드가 길어졌을 때

    사용하기 불편하다. 이때 연관되는 저장공간과 기능을 클래스로 묶어서

    관리할 수 있다.

    3. 객체를 생성하기 위한 틀, 설계도

    - 공통되는 속성(변수)과 행위(메소드)를 한 번만 선언해 놓고 가져다 사용만

    하도록 설계한다.

    - 추상적인 것(클래스)을 구체화 시키면(메모리에 생성된 것) 객체라고 한다.

    객체( Object)와 인스턴스 (instance)

    일반적으로 객체와 인스턴스는 동일하다고 생각하고 사용해도 큰 문제는 없다.

    클래스 선언

    class 클래스명 { // 멤버

    멤버변수; // 클래스 내에 있는 변수 // = 필드, 전역 변수

    멤버 메서드(){}// 클래스 내에 있는 메소드

    // class를 구성하는 모든 멤버 변수, 멤버 메서드를 합쳐서 멤버라고 부른다.

    }

    객체화

    개체를 만드는 작업, 추상적인 개념을 주체화시키는 작업

    클래스명 객체명 = new 클래스명 ();

    자료형 변수명 = new 생성자();

    변수명. 멤버명

    *.(마침표) : 하위 연산자, 멤버 접근 연산자, 닷 연산자

    public void mtMrthod(){

    MyClass refVar = new MyClass();

    자료형(클래스) 침 조변수 대입 연산자 new 생성자()

    ------------------------ ----------------------------

    1번 3번 2번

    }

    1. refVar이라는 참조 변수는 myMethod()라는 메서드 영역에서 만들어진 지역변수로

    JVM이 관리하는 메모리의 stack영역에 생성된다.

    2. new 연산자가 Heap메모리에 MyClass객체를 생성하고 참조값을 가져온다.

    (참조값 반환) 이때 생성자가 실행된다.

    3. 대입 연산자를 통해 오른쪽의 참조값을 왼쪽의 참조 변수에 저장한다.

    생성자(생성하면서 초기화해준다.)

    클래스 이름 뒤에 소괄호가 있는 형태, 메서드와 기능이 비슷하지만 메서드라고

    부르지 않는다.

    생성자는 리턴이라는 기능이 존재하지 않는다.

    - 객체를 생성할 때 실행되는 코드가 작성되어 있다.

    - 주로 해당 클래스의 필드(멤버 변수)를 초기화하는 목적으로 사용한다.

    기본 생성자

    - public 클래스명 () {}

    - 매개변수가 없다.

    - 클래스 선언 시 자동으로 선언되며, 사용자가 직접 생성자를 선언하게 되면

    자동으로 만들어주지 않는다.

    this

    자기 자신(나)을 의미한다 -> 객체 자신의 주소 값을 담고 있다.

    this는 자동 생성되는 변수이다.

    alt shift s 생성자 선언 자동완성 하기!!!! -> 제너레이트 컨설팅 유징 필드-> generate

    alt shift z 예외처리

    다형성(polymorphism)

    객체지향 언어의 중요한 특징 중 하나이다.

    참조 변수의 다형성, 메서드의 다형성이 있다.

    메소드의 다형성

    1. 오버 로딩(Overloading)

    매개변수의 개수 또는 타입이 다르면 같은 이름의 메서드로 선언할 수 있다.

    반환 타입은 오버 로딩에 영향을 주지 않는다.

    2.

    // F2 이름 바꾸기 - class명

    **참조**

    JVM의 메모리 관리

    OS(운영체제)에게 할당받은 메모리를 다음과 같이 나누어 사용한다.

    Runtime Data Area

    ====================

    Method Area 클래스 정보, static 변수 등이 저장된다.

    ----------------------------------

    Heap Area 객체를 만들면 저장되는 영역

    -------------------------------------

    Stack Area 지역변수, 매개변수 등등

    -----------------------------------

    PC Register

    ------------------------------------

    Natice Method Stack

     
     
    반응형

    'Java > Java 학원 복습' 카테고리의 다른 글

    자바 상속 - 학원  (0) 2022.10.03
    자바 학원 필기 9  (0) 2022.10.03
    자바 학원 필기 7  (0) 2022.10.03
    자바 배열 실습문제, 메소드  (1) 2022.10.03
    자바 학원 필기 5  (0) 2022.10.03