Skip to content

Latest commit

 

History

75 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java 학습 내용 정리


1. Java(자바) 기초

1) 변수 선언 및 초기화

- 클래스 영역에서는 변수 선언과 초기화를 분리할 수 없습니다. (전역변수)
- 메소드 영역에서는 변수 선언과 초기화를 분리할 수 있습니다. (지역변수)
- 전역변수는 객체를 나타내는 고유명사를 사용 | 초기화 생략 가능
- 지역변수는 임시로 사용되므로 기능적 명칭을 주로 사용 | 초기화 생략 불가
- call by value | 메소드의 파라미터는 지역변수이며, 호출할 때 초기화가 진행됩니다.

2) 메모리

- stack에는 변수와 메소드가 저장
- 메모리가 부족해지면 오버플로우가 발생하므로 stack에서는 메소드가 종료되면 해당 메모리 영역을 초기화합니다.
- heap에는 객체와 인스턴스가 저장
- heap은 {} 중괄호 안에 인스턴스들이 저장됨

3) 원시형 변수와 참조형 변수

- 원시형 변수 : 단순한 값을 저장하는 변수 | 스택 영역에 저장됨
- 참조형 변수 : 주소를 저장하는 변수 | 힙 메모리에 저장됨

4) 클래스의 인스턴스화

- 클래스의 전역변수나 메소드를 활용하는 방법
- 클래스의 인스턴스를 힙 메모리에 할당
- 메서드 영역에서 클래스를 인스턴스화 할 때, K()는 생성자, ;는 호출을 의미

5) JDK

- JDK는 JVM, JRE, 컴파일러, 개발도구로 구성
- JVM은 자바 애플리케이션을 운영체제에서 실행되도록 돕습니다.
- JRE는 자바 프로그램을 실행하는데 필요한 환경과 라이브러리를 의미합니다.
- 컴파일러(javac)는 자바 소스 파일(.java)을 JVM이 이해할 수 있는 바이트코드(.class)로 변환합니다.
- 개발 도구는 디버거, 문서 생성기 등 개발을 지원하는 도구들을 의미합니다.

6) 원시형 타입의 종류

타입 키워드 용량
문자열 String
정수형 short, int, long 2, 4, 8 byte
실수형 float, double 4, 8 byte
논리형 boolean 1 btye

7) 클래스 & 객체 관련 예약어

- class | 클래스를 정의할 때 사용하는 키워드
- new | 클래스를 인스턴스화하고, 객체를 생성하는 키워드
- this | 현재객체를 참조할 때 사용하는 키워드
- extends | 클래스를 상속할 때 사용하는 키워드
- super | 부모 클래스를 참조할 때 사용하는 키워드

8) 접근제한자

- public | 모든 클래스에서 접근 가능
- private | 해당 클래스 내에서만 가능
- default | 동일 패키지 내에서 접근 가능, 다른 패키지에서는 접근 불가
- protected | 동일 패키지 내에서 접근 가능하며, 다른 패키지에서는 접근 불가하나 "다른 패키지에 있는 하위 클래스"에서도 접근 가능

9) 형변환

- int에서 double로 형변환 (묵시적 형변환)
- double에서 int로 형변환 (강제 형변환)
- 강제 형변환 시, 변수값 앞에 () 명시

10) static | 정적 키워드

- static 키워드를 사용하면 메모리에 고정적으로 할당됩니다.
- static 변수는 객체와 관계없이 클래스 차원에서 공유됩니다.
- 고정적으로 할당되므로 메모리 사용량이 증가하는 단점이 있습니다.
- 주로 여러번 객체화하거나, 인스턴스화할 필요가 없을 때 사용합니다.
- 프로그램 실행과 동시에 메모리에 할당되기 때문에 인스턴스 변수를 할당할 수 없습니다.
- 메모리에 static이 있으므로 객체를 생성하지 않아도 호출이 가능합니다.

11) Error

  • NullPointerException은 런타임 예외 중의 하나로, 객체나 변수에 아직 초기화되지 않은 상태에서 해당 객체나 변수의 속성이나 메서드를 호출하려 할 때 발생됩니다.

12) 얕은복사 & 깊은복사

- 얕은 복사(Shallow Cpoy)는 '주소 값'을 복사한다는 의미로 원본 데이터를 참조합니다.
- 깊은 복사(Deep Copy)는 '값'을 새로운 메모리에 복사합니다. 그래서 동일한 '값'을 가진 2개의 메모리가 존재하게 됩니다.

13) 객체지향 프로그래밍 | Object-Oriented Programing, OOP

- 객체지향 프로그래밍 방식이란, 여러 종류의 재료로 햄버거를 만드는 과정과 비슷합니다.
- 즉 여러가지 작은 단위의 프로그램을 연결하여 다양한 서비스를 만들어낼 수 있습니다.
- 하나의 기능을 여러 개로 쪼개어 각각의 내용을 다른 곳에 다시 연결하여 사용하거나, 만들어진 부품을 더 큰 부품을 만드는데 사용할 수도 있습니다.

14) SOLID | 5가지 원칙

- SOLID는 소프트웨어를 더 견고하고, 유지 보수하기 쉽게 만들어 주는 개발의 5가지 설계 원칙을 말합니다.
- SOLID에 대한 내용은 블로그에 내용 정리

15) 생성자

- 자바에서 멤버변수의 초기화를 생략
-.......

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages