Written by coh at home

[Java] 본문

대한상공회의소

[Java]

och 2024. 3. 8. 17:20

3월 6일의 오전은 이클립스 설치 및 폴더와 파일 설명이 주가 이루었다.

JDK는 알다시피 JVM, lib, 컴파일러 등등을 포함한다.

컴파일러는 javac.exe로 컴파일 된 .class 파일을 실행시키는 java.exe파일이 jdk에 포함되어있다.

이후엔 클래스를 만들고 package 도메인 네임 설정하는 것에 대하여 들었고

파일을 export, import하는 것에 대한 설명을 하셨다.
이제 3월 6-7일에 대한 기록이다.

개인적인 공부

주로 배운 것을 다시 생각해보는 시간이었다.
1. interface와 추상클래스

abstract class interface
기본개념 물려받는 것(혈통, 가문) 장착하는 것(학위, 자격증)
다중적용 불가 가능
생성자 가짐 안가짐
메서드 모두 가능 기본 추상메서드, default 구상메서드, 클래스메서드
필드 모두 가능 상수

인터페이스와 추상클래스는 각각을 객체로 생성할 수 없다.

하지만 익명클래스로 생성 가능하다. 내가 해봤다.

2. 다형성 : 다형성은 객체지향 설계의 핵심이다. 다른 객체라도 각 객체가 가진 공통된 이름의 메서드를 사용할 수 있게 해준다.

3. 자바의 OutOfIndex를 보니 segmentation fault가 생각났다. 잘못된 메모리 접근할 때 발생하는 에러인데 보통 정적 배열의 인덱스를 넘어서 접근하려고 하면 많이 발생했던 에러이다.

4. 자바는 JVM에 할당된 메모리 크기만큼 사용한다. 근데 c언어는? 프로그램 실행 시 메모리에 올라가게 되고 메모리 공간은 OS가 할당한다.

5. 유니코드 : 기존의 아스키코드로는 전 세계의 모든 문자를 표현할 수 없었고 이로 인해 유니코드라는 것이 등장했다. UTF-8는 인코딩의 방식 중 하나이다.

6.String변수는 배열처럼 인덱스로 접근할 수 없고 해당 메서드를 이용해야한다. charAt

7.stream의 활용.

8.ArrayList의 자료구조는 동적 배열. remove시 많은 cost가 발생함.

수업에서 배운 것은

- 타입 캐스팅 : 묵시적, 명시적

- String method (startwith, endwith, split, subString)

- Error 공유, 정리 -trouble shooting작성

-접근제어자(private, default, protected, public)

-raw데이터 : 원시데이터를 의미하는 말.

-List a // object타입

-프로젝트 만들 때 기획을 충분히 해야한다.