본문 바로가기

Java

this 📌 this 참고 : 객제 지향 언어 OOP, 객제 지향 언어의 메모리 구조와 특징 모든 인스턴스의 메소드에 숨겨진 채 존재하는 레퍼런스로, 할당된 객체를 가르킨다. 사용 이유 : 자기 자신의 클래스 내부에 있는 변수&메서드(this.), 생성자함수(this())를 재사용하기 위해 사용한다. 역할 1. 인스턴스 자신의 주소를 반환. 역할 2. this(): 생성자에서 다른 생성자를 호출함.생성자 오버로딩에서 한 생성자가 다른 생성자 호출하는 경우. 역할 3. 함수 실행시 전달되는 객체의 주소를 자동으로 받는다. 📍 this역할1. 자신의 메모리를 가리킴. 같은 생성자를 만들어도 둘의 인스턴스 주소는 다름(date & date2) public class MyDateTest { public static vo.. 더보기
접근제어자와 정보은닉 📌 접근제어자 access modifier 참고 : 객제 지향 언어 OOP 변수, 메서드, 생성자에 대한 접근 권한 지정. private, public, protected, 아무것도 안쓰는 경우(기본 접근 제어자: 같은 패키지 내에서만 사용). private을 사용하면 클래스 외부에서는 접근할 수 없음.private 멤버 변수가 클래스 안으로 들어오게 된 배경에는 멤버에 접근하기위해서 멤버 함수가 클래스에 들어가게 되었기 때문. 참고 : 객체지향 프로그래밍 📌 정보은닉 information hiding private키워드를 지정해 외부에서 클래스 내부의 정보에 접근하지 못하도록함. private변수를 외부에서 접근하게 하려면 public 메서드 제공함. 주로 get,set. public 메소드의 기능을 .. 더보기
참조자료형 reference data type 📌 참조자료형 reference data type 참고 : 객제 지향 언어 OOP, 객제 지향 언어의 메모리 구조와 특징 클래스를 자료형으로 선언함. 그때의 변수는 레퍼런스(참조) 변수 기본 자료형은 사용하는 메모리가 정해져 있지만, 참조자료형은 클래스에 따라 다름. 기본 자료형은 실제 데이터(값)을 저장하지만, 참조자료형은 할당된 객체(인스턴스)의 주소를 저장함. 기본 자료형은 논리형, 문자형, 정수형, 실수형으로 나눠지고, 8개의 자료형이 있다. 참조자료형은 4byte의 공간을 할당하며 정수형 주소만을 저장함(값은 저장하지 못함) 📍 참조자료형 직접 만들어 사용하기학생클래스 Student 에 있는 과목 이름, 과목 성적 속성을 과목 클래스Subject 로 분리하고 Subject 참조 자료형 멤버변수를.. 더보기
생성자 Constructor 📌 생성자 Constructor 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드', 인스턴스 변수의 초기화 작업에 사용되며, 인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사용된다. 📍 생성자의 조건 및 특징 일반적으로 어디서든 클래스에 대한 객체 생성이 가능하도록 'public'으로 지정. 객체를 생성할 때 new 키워드와 함께 노출 (객체 생성 외에는 호출할 수 없음) 인스턴스를 초기화 하는 코드가 구현됨 (주로 멤버 변수 초기화) 반환 값이 없음(초기화를 목적으로 하기 때문에), 상속되지 않음. 생성자는 클래스 이름과 동일. 📍 생성자 생성 과정먼저 연산자 new에 의해서 메모리(heap)에 해당 클래스의 인스턴스가 생성된다. 그 후, 생성자가 호출되어 수행되고 연산자 new의 결과로 생.. 더보기
객체 지향 언어의 메모리 구조와 특징 OOP Memory 📌 객체 지향 언어의 메모리 구조와 특징 OOP Memory 참고 : 객제 지향 언어 OOP 📍 정적 메모리와 동적 메모리 정적 메모리 : 이미 메모리 공간의 크기가 정해져있는 고정적 메모리 영역이다. 프로그램 구동 내내 사용할 수 있어서 하나의 정보를 여러 대상이 공유할 목적일 때 사용한다. static이 여기에 해당된다. 동적 메모리 : 유동적으로 메모리 영역에 변화를 줄 수 있으며, 프로그램 실행시 실행되는 메모리 공간이다. HEAP 메모리 쪽에 변수 방을 만들더라도 그 공간은 변수명을 사용하지 못하는 공간이다. 즉, 이름으로 접급하는 것이 아니라 그 변수방이 있는 주소로만 접근할 수 있다. 따로 삭제에 대한 코드가 없으며 garbage collection에서 관리한다. HEAP, STACK 메모리.. 더보기
객체 지향 프로그래밍 Object-Oriented Programming(OOP)이란 📌 객체 지향 프로그래밍 Object-Oriented Programming(OOP) 참고 : 객제 지향 언어의 메모리 구조와 특징 📍 객체란 현실에 존재하는 독립적이면서 하나로 취급되는 사물이나 개념을 말한다. 객체 지향 언어에서 객체의 개념은 클래스의 의해 메모리에 할당된 결과물(Object)이다. 📍 객체의 할당 new연산자와 생성자를 사용하여 객체를 생성하면, heap 메모리 공간에 서로 다른 자료형의 데이터가 연속으로 나열 할당된 객체 공간이 만들어진다.이것을 인스턴스Instance 라고 한다. 🚩 new 의 역할1. 자유 메모리 공간 heap에 객체(인스턴스)를 만든다. 2. 생성자를 통해서 초기화 처리한다. (기본 생성자면 준비된 기본 값으로 초기값 기록함) => 생성된 인스턴스의 heap 주.. 더보기