Java 24

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

1. this가 하는 일 (1) 인스턴스 자신의 메모리를 가리킴public class Birthday { ... public void setYear(int year) { this.year = year; } public static void main(String[] args) { BirthDay day = new BirthDay(); day.setYear(2000); } ...}  (2) 생성자에서 또 다른 생성자를 호출할 때 사용  - 클래스에서 생성자가 여러 개인 경우, this을 이용하여 생성자에서 다른 생성자 호출 가능public class Person { String name; int age; public Person(..

Java 2024.07.07

접근 제어 지시자(access modifier)와 캡슐화

1. 접근 제어 지시자(access modifier)- default: 같은 패키지 내부에서만 접근 가능(상속 관계라도 패키지가 다르면 접근 불가)- prvate: 같은 클래스 내부에서만 접근 가능(외부 클래스, 상속 관계의 클래스에서 접근 불가)- protected: 같은 패키지나 상속관계의 클래스에서만 접근 가능- public: 클래스의 외부 어디서나 접근 가능  2.get() / set() 메서드- private를 선언된 멤버 변수에 접근, 수정할 수 있는 메서드를 public으로 제공한다.- get() 메서드만 제공된 경우 read-only이다. 3. 캡슐화- 하나의 목적을 이루기 위해 관련있는 모든 것을 하나의 캡슐에 담아두는 것- 꼭 필요한 정보와 기능만 외부에 오픈(객체 내부 구조를 외부에서..

Java 2024.07.05

생성자(constructor)와 생성자 오버로딩

1. 기본 생성자 (default constructor)- 클래스에는 적어도 하나 이상의 생성자가 존재해야 한다.- 생성자를 구현하지 않으면 컴파일러가 기본생성자를 넣어주기 때문에,   클래스에 생성자를 구현하지 않아도 생성자를 호출할 수 있다.- 기본 생성자는 매개변수와 구현부가 없다. (public Company() {})  2. 생성자 오버로딩- 클래스에 생성자를 1개 이상 구현하면 기본 생성자는 제공되지 않는다.- cf. 오버로딩은 생성자 말고 메서드에서도 존재하는 개념이다.  * 본 게시물은 패스트캠퍼스 "한 번에 끝내는 Java/Spring 웹개발 마스터 초격차 패키지" 강의를 바탕으로 정리한 글입니다.

Java 2024.07.05

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

1. 인스턴스- 실제 클래스 기반으로 생성된 인스턴스는 각각 다른 멤버 변수 값을 갖게 된다.  (같은 클래스 기반으로 생성되어도 각 인스턴스는 메모리 내 각각 다른 위치를 차지하기 때문이다.)- new 키워드를 사용해서 인스턴스 생성 -> 이 때 메모리(동적 메모리, heap)를 할당받는다.  2. 힙 메모리- 생성된 인스턴스는 동적 메모리(heap)에 할당된다.- C나 C++에서는 사용한 동적 메모리를 free()나 delete을 이용해서 해제시켜야 하지만,   자바에서는 gabage collector가 주기적으로 사용하지 않는 메모리를 수거해준다.  3. 참조 변수, 참조 값 Student studentLee = new Student(); studentLee.studentName = "홍길동";..

Java 2024.07.05