java 17

[JAVA] 자바의 메서드(Method)

남궁성님의 자바의 정석 강의를 기반으로 작성했습니다. - 메서드란 작업단위로 문장을 묶어놓은 것 - 메서드와 함수의 차이 * 메서드는 반드시 클래스 안에 들어가있어야 하지만 함수는 클래스에 독립적입니다. 근본적으로 똑같긴 합니다. - 메서드의 장점 * 코드의 중복을 줄일 수 있습니다. * 코드의 관리가 쉽습니다. * 코드를 재사용할 수 있습니다. * 코드가 간결해서 이해가 쉬워집니다. - 메서드 작성 * 반복적으로 수행되는 여러 문장을 메서드로 작성 * 하나의 메서드는 한 가지 기능만 수행하도록 작성 - 메서드 구성 : 선언부 + 구현부 반환타입 메서드이름 (타입변수명, 타입변수명, ...) // 선언부 { // 메서드 호출시 수행될 코드 // 구현부 } int add (int a, int b) { in..

Programming/Java 2021.10.08

[JAVA] 클래스 변수와 인스턴스 변수

남궁성님의 자바의 정석 강의를 기반으로 작성했습니다. - 선언 위치 * 클래스 영역 : 인스턴스 변수, 클래스 변수 * 메서드 영역 : 지역 변수 - 클래스 변수 : 공통적인 사항 - 인스턴스 변수 : 개별적인 사항 예. 카드에서 공통적인 사항은 카드의 폭, 높이, 두께 등, 개별적인 사항은 카드의 문양, 숫자 등이 있습니다. 이를 코드화하면 아래와 같습니다. Class Card { // 개별 속성 : 인스턴스 변수 String kind; // 카드의 무늬 int number; // 카드의 숫자 // 공통 속성 : 클래스 변수 static int width; // 폭 static int height; // 높이 } * 위 코드를 사용하는 방법 Card c = new Card(); // 객체를 생성 c.k..

Programming/Java 2021.10.08

[JAVA] 자바의 정석

* 자바를 배우는 이유, 자바의 특징 - 객체지향 개념을 이해하기 수월합니다. - 메모리 사용 후 반환해줘야 하는데, 자바의 가비지 콜렉터(GC)가 메모리를 알아서 정리해줍니다. - 멀티 쓰레드 지원 : 하나의 프로그램에서 여러가지 동작을 수행가능하게 해줍니다. 예) 채팅하면서 파일 전송 가능 - 라이브러리가 다양합니다. - 운영체제에 독립적입니다. 즉, 운영체제에 상관없이 프로그램이 실행가능합니다. 그 이유는 자바가상머신(JVM) 덕분입니다. 이 가상머신은 가상 컴퓨터를 의미하며, 일반 애플리케이션이 운영체제 위에서 동작하는 반면에 자바는 운영체제 위에 JVM이라는 가상 환경에서 동작하기 때문에 운영체제에 독립적일 수 있습니다. (Write Once, Run Anywhere) * 자바 API? - 자바..

Programming/Java 2021.10.05

[Spring] @Entity @Id @GeneratedValue @Column 코드 뜯기

Spring 공부를 하다보면 @ 골뱅이라 불리는 Annotation을 심심치 않게, 아니 자주 볼 수 있습니다. 성격상 이것에 대해 대충 넘긴다면 개발에 활용할 수 없을 것 같다는 생각이 들었고, 예제 코드를 작성해서 작성의도, 작성의미 등을 하나 하나 자세히 뜯어보는 포스팅을 올려보려고 합니다. 오늘 뜯어볼 코드는 @Entity, @Id, @GeneratedValue, @Column 입니다. import javax.persistence.*; import java.io.Serializable; @Entity public class User implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(nullabl..

Programming/Spring 2021.07.02

[JAVA STUDY] 3주차 : JAVA 연산자, 자바 연산자 종류

목표 자바가 제공하는 다양한 연산자에 대한 학습 학습내용 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof (객체 타입 확인) 대입 연산자 assignment(=) operator 화살표(->) 연산자 삼항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 산술 연산자 산술 연산자는 수학적인 계산에 사용되는 연산자 class Main { public static void main(String[] args) { // result 의 값은 3 int result = 1 + 2; System.out.println(result); // result 의 값은 2 result = result - 1; System.out.println(result); // resul..

Programming/Java 2021.06.07

[JAVA STUDY] 2주차 : Java 프리미티브 타입(Primitive type), 변수(Variable), 배열(Array)

목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법 학습내용 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 프리미티브 타입 종류와 값의 범위 그리고 기본 값 기본형에는 모두 8개의 자료형(타입)이 있으며, 크게 논리형, 문자형, 정수형, 실수형 4가지로 구분된다. 논리형 - True / False 중 하나를 값으로 가지며, 조건식과 논리적 계산에 활용한다. 문자형 - 문자를 저장하는데 사용하며, 변수 당 하나의 문자만 저장할 수 있다. 정수형 - 정수의 값을 저장하는데 사용된다. 주로 int와 long을 ..

Programming/Java 2021.06.05

[JAVA STUDY] 1주차 : JVM, 컴파일, 바이트 코드, JIT 컴파일러, JVM 구성요소, JDK, JRE

목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해 학습내용 JVM이란 무엇인가 컴파일하는 방법 및 원리 실행하는 방법 및 원리 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 JVM이란 무엇인가 JAVA Virtual Machine, 자바 가상 머신의 약자를 따서 줄여 부르는 용어이다. 여기서 가상 머신이란 프로그램을 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것이다. 또한, JVM은 스택 기반의 가상 머신이다. JVM의 역할 자바 애플리케이션을 클래스 로더를 통해 읽어 들여 JAVA API와 함께 실행 JAVA와 OS사이에서의 중개자 역할로 OS에 구애받지 않고 재사용 가능(Write Once, Run Any..

Programming/Java 2021.05.26