9일차 - Java강의(클래스, 필드, 생성자, 멤버, this)
·
Java & Spring/Java
◇ 클래스(Class) 설계만들려고 하는 설계도를 선언(클래스 선언)객체가 가지고 있어야 할 속성(필드) 정의객체가 생성하는 방식을 정의(생성자) : 처음 객체가 생성 될 때(instance화) 어떤 로직을 수행해야 하며,                                                               어떤 값이 필수로 들어와야 하는지 정의객체가 가지고 잇어야 할 행위(메서드)정의◇ 필드외부 접근Car car = new Car(); → 객체 생성car.color = "blue"; → 내부 필드 접근내부 접근double brakePedal() { speed = 0; return speed;}필드의 사용- 초기화public classs Car { String m..
8일차 - Java강의(객체지향 ☆)
·
Java & Spring/Java
◇ 클래스- 객체란?객체는 세상에 존재하는 물체를 뜻하며 식별이 가능한 것을 의미객체는 속성과 행위로 구성Java에서는 이러한 속성과 행위를 필드와 메서드로 정의하여 구현※ 이처럼 현실 세계에 있는 객체를 소프트웨어의 객체로 설계하는 것을 ‘객체 모델링’이라함- 객체 간의 관계사용관계 : '사람 객체'가 '자동차 객체' 를 사용포함관계 : '엔진 객체', '타이어 객체', '핸들 객체'는 '자동차 객체'에 포함상속관계 : '자동차 객체'는 '기계 객체'를 상속받음- 객체지향 프로그래밍의 특징캡슐화필드와 메서드를 하나로 묶어 객체로 만든 후 실제 내부 구현 내용은 외부에서 알 수 없게 감추는 것외부 객체에서는 캡슐화 된 객체의 내부 구조를 알 수 없기 때문에 노출시켜준 필드 혹은 메서드를 통해접근할 수 있..
enhanced switch()문
·
Java & Spring/Java
- 기존 swich문switch (value) { case 1: System.out.println("One"); break; case 2: System.out.println("Two"); break; default: System.out.println("Default");} - enhanced swicth문switch (value) { case 1 -> System.out.println("One"); case 2 -> System.out.println("Two"); default -> System.out.println("Default");} ※ enhanced swich문은 단일 표현식만 사용가능
7일차 - Java강의(연산자, 조건문, 반복문, 배열, 컬렉션)
·
Java & Spring/Java
◇ 연산자https://djhelloworld.tistory.com/24 생활코딩 - Java(연산자)1. 산술연산자 + 더하기 - 빼기 * 곱하기 / 나누기 % 나머지 3번의 경우 a형태가 int이므로 float 형식으로 자동 형변환 실시 후 연산 2. 단항연산자 1+2에서 사용한 연산자 +는 이항(二두이 項항목항, indjhelloworld.tistory.com증감연산자[++, --]int a = 10;int b = 10;int val = ++a + b--;위 코드에서 int val = ++a + b--; 는 다음과 같이 진행된다.형변환연산자[ (type) ]double doubleNumber = (double) 93 + 98.8; // 93.0 + 98.8삼항연산자[ a 조건 b ? true : f..
String, StringBuffer, StringBuilder의 차이점
·
Java & Spring/Java
코딩테스트 문제를 풀던 중Stirng "+="연산자 사용과 StringBuilder사용의 성능차이가 발생하는걸 확인하여 그에 대해 학습구분StirngStringBufferStringBuilder가변 여부불변가변가변스레드 세이프OOX연산속도느림중간빠름※ 스레드 세이프란 (thread-safe) ?멀티 스레드 환경에서 프로그램이나 코드가 여러 스레드에 의해 동시에 실행될 때,예상치 못한 결과나 오류 없이 정확하게 실행되는 것을 스레드 세이프(thread-safe)라고 합니다.◇ String// 스트링 리터럴로 스트링 객체 생성String str1 = "Hello";String str2 = "Hello";// String 클래스의 생성자를 이용해서 스트링 객체 생성Stirng str3 = new String(..
Scanner클래스 next()메서드 개행문자 처리
·
Java & Spring/Java
객체 생성import java.util.Scanner;Scanner scanner = new Scanner(System.in);다양한 메서드scanner.next() : 공백을 기준으로 다음 단어를 읽음, 개행 문자를 구분자로 사용하여 개행문자가 버퍼에 남지않음String s = sc.next(); // "hello world"입력 "hello" 출력scanner.nextLine() : 개행 문자까지의 전체 줄을 읽음, 개행 문자를 포함하여 읽어들임String s = sc.nextLine(); // "hello world"입력 "hello world" 출력scanner.nextInt(), scanner.nextFloat() : 공백을 기준으로 다음 단어를 읽고 개행 문자를 버퍼에 남겨둠nextLine()..
6일차 - Java강의(변수, 형변환)
·
Java & Spring/Java
◇ 개발 언어(Java)Java 탄생 배경공통실행환경, 클래스 객제Java를 왜 배워야 하는가?공통실행환경이 있어 여러 기기에서 실행 가능하다.세상과 닮아있는 객체지향 언어로 이해하기쉽고 유지보수가 쉽다.안정성이 높아 프로그래밍 오류를 방지하고 보안상 안전하다.대규모 앱 개발이 가능하다.다양한 개발도구와 라이브러리를 사용할 수 있다.JVM(JRE)란?Java Virtual Machine의 약자로 "자바 가상 머신"이라는 뜻Java프로그램을 실행시킬 수 있는 가상의 기기를 만들어주는것을 의미어느장비에든 JVM을 깔아주면 Java가 놀 수 있는 놀이터가 된다고 생각하면됨바이트 코드 : 내가 작성한 코드가 운영체제가 읽을 수 있는 코드로 Java 컴파일러가 변환한 코드인터프리터 : 운영체제가 읽은 바이트 코드..
Map 기본 문법 및 사용법
·
Java & Spring/Java
선언 및 초기화Map map = new HashMap();으로 선언 및 초기화 하며 key와 value의 type을 정해주면된다. import java.util.HashMap;import java.util.Map;public class Main { public static void main(String[] args) { Map map = new HashMap(); }}갑 추가map.put(key, value); map.put("a", 1);map.put("b", 2);map.put("c", 3);값 읽기map.get(key); → 해당 key의 value 출력 int value = map.get("a"); // value는 1값 삭제map.remove(key); → 해당 ke..
배열 부분 복사 'Arrays.copyOfRange()'
·
Java & Spring/Java
Arrays.copyOfRange()는 원본배열의 일부분을 복사하는 메서드로 다음과 같이 사용한다. int[] copyarr = Arrays.copyOfRange(OriginalArray, Start index, End index);→ OriginalArray의 Start index부터 End index - 1 까지※ Start  indxe(포함), End index(미포함)import java.util.Arrays;public class CopyOfRangeExample { public static void main(String[] args) { int[] originalArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 배열의 일부분을 복사 ..
문자열 값 비교 'str.compareTo()'
·
Java & Spring/Java
문자열의 비교같다(0)다를경우 String str = "abcd";System.out.println(str.compareTo("abcd")); // 0(같은경우)System.out.println(str.compareTo("ab")); // 2(포함되었을 경우 길이차이)System.out.println(str.compareTo("a")); // 3(포함되므로 길이차이)// compareTo()는 같은 위치의 문자만 비교해준다.System.out.println(str.compareTo("c")); // -2(아스키 코드 'a'와 'c'의 차이값)System.out.println(str.compareTo("ABCD")); // 32(전혀 다른경우도 아스키 코드 차이값 ..