TIL

[2022.09.24] 자바 공부 5일차

인생은단짠단짠 2022. 9. 24. 01:19

 

하루 일과

타임라인 한 일
08:00 기상
09:00~10:30 졸작 발표 영상 촬영
11:30 메가바이트 스쿨 출발
13:00 ~ 18:00 자바 온라인 강의(상속, 추상클래스, 다형성)
18:00 ~ 19:00 저녁식사
19:00 ~ 22:00 자바 오프라인 강의( 참조형 변수, 문자열, 실습)
23:20 집 도착!

 

오늘 배운 것

  • 상속
    • 상속의 개념
    • 상속의 문법
    • 상속을 구현하는 경우 : is-a관계
    • 하위클래스를 생성하면 상위클래스가 먼저 생성된다.
    • 상속에서 인스턴스 메모리의 상태
      • 항상 상위클래스의 인스턴스가 먼저 생성되고, 하위클래스의 인스턴스가 생성된다.
    • 형변환(업캐스팅)
      • 상위 클래스로 변수를 선언하고 하위 클래스의 생성자로 인스턴스를 생성할 수 있다.
      • 상위 클래스 타입의 변수에 하위 클래스 변수가 대입될 수 있습니다.
    • 메서드가 호출되고 실행되는 원리
      • 메서드 영역에 메서드의 명령어 set이 저장된다.
      • 다른 인스턴스라도 메서드의 코드는 같으므로 같은 메서드 호출된다.
    • 가상메서드의 원리
    • 다운 캐스팅
      • 업캐스팅 된 클래스를 다시 원래의 타입으로 형 변환 하는 것
      • instatnceof
  • 다형성
    • 하나의 코드가 여러 자료형으로 구현되어 실행되는 것
    • 확장성, 유지보수, 여러클래스를 하나의 타입으로 핸들링할 수 있음
  • 추상클래스
    • 구현 코드 없이 메서드의 선언만 있는 추상 메서드를 포함한 클래스
    • abstract로 선언
    • 몸통으로 쓸 메서드를 구현해놓고 이 클래스에서 구현하지 못한 것을 하위클래스에게 책임을 위임하는 방식
    • 템플릿 메서드
      • 추상 메서드나 구현된 메서드를 활용하여 코드의 흐름을 정의하는 메서드
  • 참조형 변수
    • 데이터 타입
    • 메모리 사용 영역
    • 참조 변수의 동등비교(equals)
  • 문자열
    • 초기화
    • 메모리 저장 (객체 변수는 스택, 문자열 리터럴은 string pool)
    • 문자열 관련 함수
    • 정규표현식
  • 문자열 실습

느낀점

금요일이다. 일주일 동안 힘들었다...ㅠ 예전에 배울때 항상 헷갈렸던 것들(상속, 오버로딩, 오버라이딩, 업캐스팅)이 잘 이해되고 정리된 것 같아서 기분이 좋았다.  메모리 사용에 대해서도 이해가 잘 된다. 그리고 파이썬으로 알고리즘 문제를 풀다가 자바로 실습하니까 참 어렵다. 자자꾸 파이썬 풀이가 생각난다. 자바는 꽤 제약이 많은 언어인 것 같다.

'TIL' 카테고리의 다른 글

[2022.09.28] 자바 공부 7일차  (0) 2022.09.28
[2022.09.26] 자바 공부 6일차  (0) 2022.09.27
[2022.09.22] 자바 공부 4일차  (0) 2022.09.22
[2022.09.21] 자바 공부 3일차  (0) 2022.09.21
[2022.09.20] 자바공부 2일차  (0) 2022.09.20