[TIL]자바 프로그래밍의 참조 자료형
·
Back-end/Java
참조 타입이란자바에서 class로 정의된 타입과 배열 타입은 모두 참조 타입이며, new 연산자를 통해 생성된 객체는 Heap 영역에 저장된다.참조 변수class Planet {}Planet jupiter = new Planet();위에서 본 것 처럼 Planet이라는 인스턴스를 사용해 jupiter에 저장할 때 jupiter는 참조변수가 됩니다참조 변수 메모리의 저장방식class Animal { int id; Animal(int id) { this.id = id; }}Animal dog = new Animal(12);Animal cat = new Animal(15);새로운 객체가 생성될 때마다 이들은 모두 Heap이라고 하는 곳에 저장됩니다자바 프로그램이 실행될 때 두 가지 종류의 메모리가 있는데 그..
[WIL] 자바 반복문 그리고 아쉬운 부분
·
Back-end/Java
🧩 1. 이번 주 학습 주제이번 주에는 반복문 수강🧠 2. 배운 점 요약Do While과 While의 차이점반복문을 써야 할 때Continue 와 Break🧩 3. 삽질(실수) & 해결 과정어렵지 않아서 딱히 없었다💡 4. 깨달음 / 느낀 점반복문을 사용할 때는 먼저 어떤 상황인지 생각을 해야한다😥 5. 아쉬운 부분컴활 시험이 오늘 기준으로 8일 밖에 안남아서 컴활 필기에 집중하여 얼마 못 한게 매우 아쉽다…🚀 6. 다음 주 계획컴활 시험이 얼마 남지 않아서 복습 위주로 갈 거 같다추가적으로 전역도 얼마남지 않아서 전역 전까지는 TIL과 WIL은 매우 뜸해질 것 같다..
[TIL] While, Do While, Break, Continue 차이 정리
·
Back-end/Java
반복문제어문(control statement)의 일종으로, 프로그래밍 언어에서 특정 부분의 코드를 반복적으로 실행하는 문법입니다자바에서는 반복문으로 For, While, Do While 이 있습니다for는 전 글에서 이미 다뤘으므로 자세한 건 패스하겠습니다While조건이 참일 때만 반복을 수행합니다.조건이 처음부터 거짓이라면 한 번도 실행되지 않습니다.사용법int i = 0;while (i 출력결과01234i가 5보다 작을 동안 반복됩니다.i가 5 이상이 되면 조건이 false가 되어 반복이 종료됩니다.조건이 처음부터 맞지 않다면int i = 6;while (i⚠️주의: 실행이 아예 안되기 때문에 항상 조건에 주의하며 작성해야합니다Do While조건이 거짓이더라도 한 번은 실행됩니다.먼저 실행 → 나중에..
[WIL] 자바 조건문 그리고 아쉬운 부분
·
Back-end/Java
🧩 1. 이번 주 학습 주제이번 주에는 조건문, 반복문 (20%) 를 수강🧠 2. 배운 점 요약자바의 삼항 연산자에 대해 배움switch 함수를 어떻게 쓰고 long 과 같은 값은 안됨사용자 값을 읽는 Scanner🧩 3. 삽질(실수) & 해결 과정처음 강의에서 Scanner를 Jshell에서 사용했다. 그래서 임포트도 안하고 계속 에러 뜬 이유를 찾아다니다 구글링을 통해서 해결했다💡 4. 깨달음 / 느낀 점반복된 구문은 Switch로 줄여봐야겠다Scanner로 조금 더 사용자와 상호작용할 수 있는 방법으로 나아가봐야겠다😥 5. 아쉬운 부분현재 군 e러닝으로 kcu 온라인 대학교 강의와 컴활 그리고 자바 공부까지 하느라 군 생활이 많이 바쁘다...그렇기에 계획도 잘 못 지키고 자바도 까먹고.....
[TIL] Java 조건문 (if, switch, 삼항연산자, Scanner )
·
Back-end/Java
if 조건문조건에 맞는 문이 실행됩니다if(i==3){ System.out.println("True");}//조건을 명시하고, 조건으로 실행될 코드를 if 블록 안에 쓴다if-elseint i = 25;if(i==25){ System.out.println("i = 25"); } else { System.out.println("i != 25"); }if 조건이 true와 false 두 가지 경우의 수를 적을 수 있습니다.Nested if (중첩 if)//if - else if - else (Nested If)int i = 24;if(i==25){ System.out.println("i = 25");} else if (i == 24) { System.out.println("i == 24");..
[WIL] 자바의 객체지향부터 BigDecimal까지 — 실수와 학습의 한 주
·
Back-end/Java
🧩 1. 이번 주 학습 주제이번 주에는 OOP(객체 지향 프로그래밍), Java의 캡슐화, 생성자, Wrapper Class, 진수 체계, 자료형 변환, BigDecimal 클래스, 정적 메서드 등을 학습했다.🧠 2. 배운 점 요약객체 지향 프로그래밍이 뭔지 알게 되었고 왜 자바에서는 캡슐화를 하려고 하는지 Setter 와 Getter를 통해 배움.부동 소수점의 더 하기는 표현 방식 때문에 달라짐으로 BigDecimal 클래스의 필요성도 알게 되었으며, 마지막으로 형변환은 단순히 타입 바꾸는 게 아니라, 메모리 구조 이해의 출발점임을 깨달음.🧩 3. 삽질(실수) & 해결 과정double과 float의 차이를 잘못 이해해서 계산 오류가 났다.강의에서 배워 BigDecimal을 알게 되었고, 계산을 정..
[TIL] Java 불리안, 문자형, 그리고 정적 메서드 정리
·
Back-end/Java
🧩 불리안(boolean)대소문자 구분 주의불리안의 기본 리터럴은 true, false 두 가지뿐.boolean isValue = false;boolean isValid = true; 🔍 관계 연산자 (Comparison Operators)i > 7 // falsei >= 7 // truei == 7 // true관계 연산자의 결과는 항상 boolean 값으로 반환된다.⚙️ 논리 연산자 (Logical Operators)i >= 15 && i 연산자의미특징&&AND두 피연산자 모두 참일 때만 true||OR두 피연산자 중 하나만 참일 떄 true^XOR서로 다르면 true!NOT반대값 반환⚡ 단축 회로 연산자 (Short-Circuit Operator)int j = 15;int i = ..
[TIL] Java 부동소수점(float, double)과 BigDecimal 정확도 차이 이해하기
·
Back-end/Java
부동 소수점?정수 부분과 소수 부분 모두 다 가진 값을 말합니다.자바에 부동 소숫값을 담는 데이터 유형은 총 두 가지 입니다.double과 floatdouble기본적인 부동 소수 리터럴 유형8바이트어떤 부동소수 연산이던 결과는 항상 doubledouble dbl = 34.5678;float4바이트부동 소숫값 뒤에 꼭 f를 붙여함float f = 34.5; //에러float f = 34.5f;float f = 34.5F;형변환 오류큰 타입→ 작은 타입으로 변환 할 때 오류가 발생합니다.위를 예로 들자면 double → float로 변환시 에러가 난다는걸 확인할 수 있습니다public class main{ public static void main(String[] args) { dou..
[TIL] Java 자료형과 형변환 완전 정리 (Wrapper Class · 진수 체계)
·
Back-end/Java
Java의 자료형과 크기Java에서 변수와 자료형, 형변환, 진수 체계를 정확히 이해하면 코드의 안정성과 가독성을 높일 수 있습니다.이 글에서는 Wrapper Class를 통한 자료형 정보 확인, 형변환 종류, 진수 체계까지 한 번에 정리합니다.Java 기본 자료형과 Wrapper ClassJava의 기본 자료형(primitive type) 은 각각 대응하는 래퍼 클래스(Wrapper Class)가 있습니다.래퍼 클래스는 해당 자료형의 크기, 최댓값, 최솟값 등을 제공하여 프로그래밍에 활용할 수 있습니다.Wrapper Class 예시기본형 래퍼 클래스 크기(bit) 크기(bite)최소값 최대값byteByte81-128127shortShort162-32,76832,767intInteger324-2,147,..
[TIL] 자바(Java) 생성자(Constructor) 완벽 정리: 메소드 오버로딩과 함께 사용하는 예제
·
Back-end/Java
생성자(Constructor)란 무엇일까요?생성자는 객체(Object)가 생성될 때 단 한 번 호출되는 특별한 종류의 메소드입니다. 주된 역할은 클래스의 인스턴스 변수(필드)들을 원하는 값으로 초기화하는 것입니다. 우리가 new 키워드를 사용하여 객체를 만들 때, 내부적으로는 이 생성자가 호출되고 있는 것이죠.생성자, 일반 메소드와 무엇이 다를까요?생성자는 일반적인 메소드와 몇 가지 뚜렷한 차이점을 가집니다.반환 타입(Return Type)이 없습니다. 일반 메소드는 void, String, int 등 반드시 반환 타입을 명시해야 하지만, 생성자는 반환 타입을 지정하지 않습니다. 값을 반환하는 목적이 아니라 객체를 초기화하는 것이 유일한 임무이기 때문입니다.이름이 클래스 이름과 동일합니다. 생성자의 이름..