백엔드/Java&Spring 웹개발
[Java&Spring 웹개발] 2주차(05/10 - 05/16) 학습일지 (2)
미니개발자님
2023. 5. 15. 21:21
728x90
반응형
🌷 2주차 학습일지 (2)
1) 강의 범위: 2장 中 1 ~ 12강
2) 핵심 개념: 객체와 객체지향 프로그래밍 / 클래스 / 매서드 / 인스턴스 / 생성자 / 오버로딩 / 참조 자료형
1. 객체와 객체 지향 프로그래밍
- 객체(Object): 구체적이고 추상적인 데이터의 단위
- 객체 지향 프로그래밍: 객체들을 조합해서 하나의 완성된 프로그램을 만드는 것 ex) Java, C++, C# 등
- 객체 정의 및 속성과 기능 구현 → 각 객체가 제공하는 기능들 간 소통
- cf) 절차 지향 프로그래밍: 시간이나 사건의 흐름에 따라 프로그램으로 만드는 것 ex) C 등
2. 클래스 구현 연습 (⭐)
- 클래스: 객체를 생성하기 위한 청사진(blueprint)
- 객체의 속성: 클래스의 멤버 변수(필드)로 선언
- ① 객체 정의 ② 객체의 속성을 멤버 변수로 구현 ③ 역할을 메서드로 구현
- java 파일 하나에 클래스가 여러 개 있을 수 있지만, public 클래스는 하나
3. 함수와 메서드
- 함수(function): 하나의 기능을 수행하는 코드들 → 호출 및 제어
- 구성: 이름, 매개변수, 반환 값, body로 구성
- 메서드(method, = 멤버 함수): 클래스 내부에서 구현된 함수 → 객체의 기능 구현
함수 | 메서드 |
단독 선언 → 호출해서 사용 | 클래스 소속 → 클래스의 멤버 변수를 활용해서 구현 |
- 함수 호출과 스택 메모리
- 스택: 함수가 호출될 때 지역 변수들이 사용하는 메모리
- 함수가 수행을 마치면 자동으로 메모리 반환(해제)
4. 객체 구현
- 속성 = 멤버변수(필드)
- 기능 = 메서드
5. 인스턴스 생성과 힙(heap) 메모리
1) 인스턴스 (Instance)
- 인스턴스: 실제 클래스를 기반으로 생성된 객체
- new 키워드로 인스턴스 생성
- 생성된 인스턴스는 각각 다른 멤버 변수 값을 가짐
2) 힙 메모리
- 생성된 인스턴스는 동적 메모리에 할당
- 자바의 Garbage Collector가 자동으로 사용하지 않는 메모리 수거
- 하나의 클래스로 여러 개의 인스턴스 생성: 각각 다른 메모리 주소
- 참조 변수: 메모리에 생성된 인스턴스를 가리키는 변수
- 참조 값: 생성된 인스턴스의 메모리 주소 값
6. 생성자 (constructor)
- 객체 생성 시 new 키워드와 함께 사용
- 객체가 생성될 때 일반 함수처럼 기능 호출X
- 변수나 상수 초기화 또는 다른 초기화 가능을 수행하는 메서드 호출
- 반환값이 없고 클래스 이름과 동일
- 대부분 외부에서 접근하지만, 외부에서 사용하지 못하도록 private으로 선언할 때도 있음
- 기본 생성자: 클래스에 생성자가 없는 경우 컴파일러가 자동으로 생성자 코드를 넣어줌
7. 생성자 오버로딩 (overloading)
- 생성자를 호출하는 코드에서 여러 생성자 중 필요에 따라 알맞은 생성자 호출
- 매개 변수가 다른 생성자를 여러 개 선언
8. 복습 문제 풀이 (객체)
- 다른 포스팅에 풀이 작성
9. 참조 자료형 변수
- 참조 자료형: 클래스형으로 변수 선언 → 클래스에 따라 메모리 크기 변동
- cf) 기본 자료형: 정수(byte, short, int, long), 실수(float, double), 문자(char) → 메모리 크기 고정
📌 2주차 (2) 공부 피드백 📌
✅ 다양한 예제 연습으로 짧은 시간 동안 객체 생성 연습을 함
✅ 스택, 힙에 대한 자료구조 심화 공부 필요
읽어주셔서 감사합니다.
언제나 피드백은 환영입니다.
728x90
반응형