Java & Spring으로 시작하는 웹 프로그래밍 : 패스트캠퍼스 자바 강의 패스트캠퍼스 Spring 강의 02주차

some2tell·2022년 9월 23일
0

패캠 국비

목록 보기
1/2

02주차의 첫차시는 조건문과 반복문이다.

조건문과 반복문에 대해서는 딱히 전반적인 사항을 기록할 필요성은 느끼지 않기에
간간히 보이는 가물가물한 부분에 대해서 기록하기로 한다.

우선 switch case 문에서 yield 키워드를 사용하는 swictch expression이다.

예전에는 case를 적을 때 콤마(,)로 여러 케이스를 처리하는 것이 안됐는데, 이것이 자바 14버전부터 지원되는 거라고 한다.
또한, 람다식과 같은 형태로 switch문을 이용한 값 할당의 분기처리가 가능한데,
이 때, 블록처리를 하고 다른 명령문이 있을 경우 yield 키워드를 사용해야 한다.
(대입 연산자 우항으로 사용되어 값만 적어두는 경우에는 사용하지 않을 수 있다)

가령 이런 것이다.

그리고 객체지향 프로그래밍 입문(기초)라고 하는 부분이 이어진다.
객체지향 프로그래밍을 할 때에 단계를 구분해 두었는데, 괜찮아 보여서 기록한다.

  1. 객체를 정의하고
  2. 각 객체의 속성을 멤버 변수로 역할을 메서드로 구현하고
  3. 각 객체 간의 협력을 구현한다.

====================================================================

그리고 함수(메서드) 호출 시 해당 메서드의 메모리 공간이 스택에 쌓인다.
또한, 인스턴스 생성시 생성된 인스턴스는 동적 메모리(힙)에 할당된다.
C나 C++에서는 이것을 직접 제어해야 하지만, 자바는 Gabage Collector가 사용되지 않는 메모리를 해제해 준다.
아직 정확히 모르지만 미래를 위해 퍼온 jvm 구조 그림
(문제시 해당 그림 삭제하겠습니다)

====================================================================

그리고 생성자가 없으면 기본생성자를 컴파일러가 class 파일로 변환할 때(아마?) 자동으로 넣어준다고 하는데,
생성자를 직접 정의하면 객체 생성시 생성자에서 해당 클래스의 조상클래스의 기본생성자를 불러오지 못해(파라미터를 전달할 수 없는 경우) 오류가 뜨는 경우가 있다.
음,, 그래서인지는 몰라도 예전 선생님이 기본생성자는 하나씩 있는 게 좋다고 이야기 하셨던 기억이 있다.(toString, hashCode, equals 역시 재정의 하는 게 좋다고 들었던 기억이 있다)

profile
미비한 시작만큼 창대해지리라는 것을 믿지 언제나

0개의 댓글