본문 바로가기

Java25

[자바 라이브 스터디] 02. 자바 데이터 타입, 변수와 배열 2주차 과제: 자바 데이터 타입, 변수 그리고 배열 목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 프리미티브 타입 종류와 값의 범위 그리고 기본 값 자바는 총 8가지의 기본 타입을 정의하여 제공하며, 크게 정수형, 실수형, 문자형, 논리형으로 나눌 수 있습니다. 논리형 Boolean 참(true), 거짓(false)를 표현할 때 사용합니다. 기본값: false 할당되는 메모리 크기: 1byte 데이터의 표현 범위: 소문자 true,.. 2021. 9. 16.
[자바 라이브 스터디] 01. JVM과 자바 코드 1주차 과제: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기 학습할 것 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 JVM이란 무엇인가 자바 바이트코드는 JRE 위에서 동작합니다. JVM(Java Virtual Machine)이란, 자바 바이트코드를 해석하고 실행하는 요소입니다. JRE는 자바 API와 JVM으로 구성되며, JVM의 역할은 자바 애플리케이션을 클래스 로더(Class Loader)를 통해 읽어 들여서 자바 API와 함께 실행하는 것입니다. 자바 바이트코드란, 자바와 기계어 사이의 중간 언어라 할 수 있.. 2021. 9. 15.
[자바 라이브 스터디] 00. 자바 기본 공부 계획 자바 스터디 벌써 스타트업 회사에 입사한지 3주가 되었습니다. (인턴 3개월) 첫 한 주 동안은 회사 소스 코드 분석하는 것이었습니다. STS4 IDE, Spring Boot 2.2.x, MyBatis, Maven을 사용중이고, Spring MVC 패턴을 사용하고 있었습니다. 첫 주 동안 코드 분석한 뒤에 웹 사이트 CRUD하는 일을 받고, 모르는 코드가 있다면 여쭤보면서 해결해나갔습니다. 물론 아직도 많이 부족합니다.. 자바 기본 부족 개발을 하면서 작업을 하는데 패턴이 비슷하다보니 약간 반복되는 작업이 있습니다. 아직까진 개발하는데 어려움은 없지만 자바 기본을 다시 한번 되새기는게 어떤가... 하는 생각이 듭니다. 그래서 자바 기본서는 정말 많지만 백기선님의 자바 라이브 스터디를 진행하면 좋을 것 같.. 2021. 9. 13.
간략한 JVM에 대한 개념.. JVM, JRE, JDK JVM (Java Virtual Machine) 자바 가상 머신으로 자바 바이트 코드(.class)를 각 OS에 특화된 코드로 변환(인터프리터, JIT 컴파일러)하여 실행한다. 그래서 OS에 종속적이다. JRE (Java Runtime Environment) JVM + 라이브러리 자바 애플리케이션을 실행시키기 위한 환경이다. 즉, 실행시키기 위한 것이지 이것으로 개발을 할 순 없다. JDK (Java Development Kit) JRE + 개발에 필요한 툴 자바 11부터는 JRE를 따로 제공하지 않는다. 애초에 개발자들은 개발을 해야하기 때문에 JDK를 설치해야 한다. JVM 내부 구조 메모리 메소드 영역에는 클래스 수준의 정보(클래스 이름, 부모 클래스 이름, 메소드, 변수,.. 2021. 5. 17.
클래스 활용 은닉화(Hiding) 클래스 = 설계도 즉, 클래스를 이용한다는 것은 객체지향 프로그래밍을 하고 있다는 의미입니다. (잘 구현하는지에 따라서는 개인차..) 이런 객체의 기능을 설계도화 하기 위해서는 객체의 기능들을 잘 모아야 하는데, 이를 용어로 풀이하면 캡슐화 라고 합니다. 객체와 관련된 데이터, 기능만을 한데 모은다는 의미입니다. 만약 객체 변수를 public 으로 설정하면, 외부에서 마음대로 변수를 사용할 수 있어 문제가 발생합니다. 의도하지 않은 범위의 값을 넣을 수 있음. 원하지 않는 데이터타입을 강제로 형변환하여 넣을 수도 있음. private 으로 선언시 getter를 이용하여 가져올 수 있습니다. this 키워드 사용 클래스의 은닉화 : 변수에 직접적인 접근을 막는다. (private) g.. 2020. 9. 9.
상속 기초 상속(Inheritance) 상속은 상위클래스의 모든 것이 하위클래스에게 전달되는 것을 말합니다. But, 상위클래스의 멤버변수와 멤버함수 중, private 으로 선언되어 접근제한이 걸려있다면 하위클래스로 전달이 되지 않습니다. 하위클래스 extends 상위클래스 단, 자바에서는 다중 상속은 허용되지 않습니다. 장점 클래스 간의 체계화된 전체 계층 구조 파악 재사용성 증대 확장 용이 일관성 유지 오버라이딩(Overriding) 오버라이딩은 상속된 메소드와 동일한 이름, 동일한 인자를 가지는 메소드를 정의하여 메소드를 덮어쓰는 것입니다. 반환값의 타입도 같아야 합니다. 오바라이드는 하위클래스에서 상속 받은 메소드를 단순히 재사용 하지 않고 재정의하여 다른 연산을 수행하고 싶을 때 사용합니다. 즉, 하위클.. 2020. 9. 9.