[스터디 진행 사항 ]
스터디 진행 날짜 : 22년 11월 06일
스터디 진행 장소 : 노원 랭스터디
스터디 진행 시간 : 오후 12시 ~ 오수 2시 (2시간)
[학습 내용 ]
오늘 스터디는 간단하게 반복문을 훝고 객체 지향 1 파트를 들어갔다.
#객체 : " 것 " anything → 규모가 커지고 대 단위로 프로젝터가 진행이 되면서 객체 간 상효작용하는 방식이 더 편리해짐
#Class : 붕어빵 틀 / 설정집
Class를 기반으로 객체를 만드는데 이때의 Class는 객체의 속성(변수) 와 기능(함수)를 미리 저장해두고 나중에 필요할 때,
호출해서 사용하는 일종의 "설정집"
# method : 멤버 함수
void 일때는 함수 {} 블록 안에서만 사용 가능하며 주로 return이 없거나 반환 값이 없을 때 void 적용
* return : 호출한 곳에서 다시 쓸지 안 쓸지에 따라 함수 안에 넣을 수도 안 넣을 수도 있다. 참고로 void 의 경우 reutrn 값은
함수 수행 종료를 의미하기도 한다.
* 만약 반복문 if - else 문 같은 것을 쓸 경우 각 블록 {} 안에 return 입력 해주어야 오류가 나지 않는다.
# 패키지 : 분류 작업을 위한 용도
# 메모리 : Java는 메모리 함수 종료시 알아서 없어지는 유용한 프로그램이다. : Gabage Collector
Class로 만든 변수는 new 연산자를 꼭 생성 필요
: new 연산자를 사용함으로써 변수가 메모리에 올라가서 쌓이게 됨. (메모리에 올라감으로써 이때부터 의미가 있어지는 것)
** 참고로 컴퓨터의 메모리 구조 설명 해보라는 것이 면접의 단 골 질문
[메모리 구조]
stack Heap
#생성자 :
Person person = new Person( );
class 형 참조 생성자
참조 person은 하나의 객체를 만들 때마다 다 적기 힘드니까 class 내부에 초기화 해주는 공간을 만들자 해서 생성자가 탄생 한 것
public Person ( ) { } : 기본 생성자 생성 이유
추가 객체를 만들 수도, 비워둘 수도 있는데 이를 위해 미리 초기화를 해두는 것이다. 혹은 (A, B, C) 중 A만 출력하고 싶을 때 사용
코드를 짠 후 실행할 경우 이동하는 과정은 다음 과 같다.
main → 생성자 → main 속 함수 → 해당 관련 생성자
* 이는 debug를 통해 코딩의 흐름을 알 수 있었다.
# 오버로딩 : Java의 특징 중 하나로 같은 함수여도 안에 든 Parameter(매게 변수) 가 다르면 다른 함수로 인식 한다는 것이다.
( 오버로딩 ≠ 오버라이딩)
* parameter (매게 변수) : num1 과 num2 - 함수의 정의에서 전달받은 인수를 함수 내부로 전달하기 위해 사용하는 변수
int add( int num1, int num2) {
int result = num1 + num2
return result;
}
[ tip ]
Alt + CTRL + L : 코드 정리
Shift + F6 : Class 이름을 전체 바꿀 수 있는 단축키
[다음 스터디 준비 필요사항 ]
1. 클래스와 객체 2
2. 예제 다 풀어오기
3. getter & Setter 사용 이유??
'Programming > Java' 카테고리의 다른 글
[ JAVA ] 예제 연습 중 궁금중 모음 (0) | 2022.10.26 |
---|---|
[ JAVA 스터디 ] 1회차 복습 - 221023 (0) | 2022.10.23 |
[JAVA] 객체지향 특징 4 가지(캡슐화, 상속, 다형성, 추상화) (0) | 2022.10.21 |
JAVA의 정석 [연습문제] - Chapter04 (0) | 2022.10.14 |
java 구구단 예제 (0) | 2022.10.11 |