자바

    [ Java ] 객체 자신을 가리키는 this

    this - 인스턴스 자신의 메모리를 가리킴 - 생성자에서 또 다른 생성자를 호출할 때 사용 - 자신의 주소(참조값)을 반환 생성된 인스턴스 메모리의 주소를 가짐 - 클래스 내에서 참조변수가 가지는 주소 값과 동일한 주소 값을 가지는 키워드 생성자에서 다른 생성자를 호출하는 this public class Person { String name; int age; public Person() { this("null name", 1); } public Person(String name, int age) { this.name = name; this.age = age; } } ex) Person p = new Person(); Person()이 실행 돼 this로 생성자를 호출하여 생성한다.

    [ Java ] 접근 제어 지시자와 정보은닉

    Access Modifier :: 접근 제어 지시자 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용 가능한가 ? private : 같은 클래스 내부에서만 default : 같은 패키지 내부에서만 protected : 같은 패키지나 상속관계의 클래스에서만 public : 클래스의 외부 어디서나 private으로 선언된 멤버 변수(필드)를 어떻게 수정 ? => 메서드를 public으로 setter/getter를 생성한다. Infomation Hiding :: 정보은닉 변수가 public으로 공개되었을 때보다 private일 때 각 변수에 대한 제한을 public 메서드에서 제어할 수 있다. 정보 은닉은 외부에서 접근 가능한 최소한의 정보를 오픈해 객체의 오류를 방지할 수 있다.

    [ Java ] 참조 자료형 변수

    변수의 자료형은 기본 자료형 :: int, long, float, double 등 참조 자료형 : String, Date, Student 등 이 존재한다. 참조 자료형은 클래스형으로 변수를 선언한다. 기본 자료형은 사용하는 메모리 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다르다. 참조 자료형은 사용할 때 해당 변수에 대해 생성을 한 뒤 사용해야 한다. ( 단, String 클래스는 예외적으로 생성하지 않고 사용이 가능 ) 클래스에 따라 메모리 크기가 다른 이유? Student 클래스가 있을 때, 그 클래스가 갖고 있는 멤버 변수에 따라 메모리의 크기가 달라진다. ex) 이름(String), 학점(float) ... 등을 클래스 안에 포함시킬 수 있음 클래스 안에 멤버 변수로 다른 클래스를 포함..

    [ Java ] 인스턴스 생성과 힙 메모리

    public class StudentTest { Student studentOne = new Student(); Student studentTwo = new Student(); } 이렇게 Student 클래스로 2개의 객체를 생성했을 때 각각 다른 메모리에 위치하게 된다. 클래스 코드는 1개이지만, 그로부터 생성되는 인스턴스는 여러 개가 될 수 있고 힙이라는 동적 메모리에 생성된다. 타입이 Student인 studentOne이라는 변수가 new Student()로 할당을 받았을 때 힙(동적 메모리)에 주소가 할당된다. 클래스 : 객체를 프로그래밍 하기 위해 코드로 정의해 놓은 상태 인스턴스 : new 키워드를 사용해 클래스를 메모리에 생성한 상태