study/Java 22

[sist] 2024.01.22_Java : Calendar 클래스, java.time 패키지, 날짜비교, DecimalFormat, Random 함수, Enum

* Calendar- 단편적인 날짜(년, 월, 일,,) 정보를 얻을 때 사용.- 추상클래스 : 객체화가 되지 않는다. 1. 객체생성) - 객체를 얻는 method 사용Calendar cal = Calendar.getInstance();  - 자식 클래스를 사용Calendar cal = new GregorianCalendar(); 2. method 사용) : 년, 월, 일 등의 정보를 get()에 constant를 할당하여 얻는다.int year = cal.get(Calendar.YEAR); // 가독성 향상int year = cal.get(1); // 가독성이 좋지 않다.int month = cal.get(Calendar.MONTH) + 1; // 월은 0월부터 시작 0~11월int day = cal.g..

study/Java 2024.03.07

[sist] 2024.01.19_Java : import, static import, 문자열 클래스, 날짜 클래스, 포맷 클래스

* import - 다른 패키지의 클래스(인터페이스)를 사용할 때 필요한 코드. - package 선언과 class 선언 사이에 필요한 만큼 정의한다. - 같은 패키지의 다른 클래스나 java.lang 패키지의 클래스들은 import 없이 사용할 수 있다. - JDK 1.5에서부터는 static import가 추가되었다. - 문법) // 특정 패키지의 하나의 클래스를 사용할 때. import 패키지명.클래스명; // 패키지 내의 모든 클래스를 import할 때. imprt 패키지명.*; package 패키지명; import 패키지명.클래스명; public class 클래스명{ // import로 선언된 클래스를 사용할 수 있다. } package test; import java.util.Date; pub..

study/Java 2024.02.26

[sist] 2024.01.18_Java : Interface, inner class, nested class, local class, anonymous inner class, 자주 사용하는 클래스들

* Interface - 다중 상속의 장점(기능 확장이 편리하다 ↔ 단점 : 객체의 크기가 필요 이상 커질 수 있음, 부모가 모호함)을 사용하기 위해. - 약결합(loosely coupled)을 구현하여 객체 간의 유연성을 높이기 위해서. - 작성법) 접근지정자 interface 인터페이스명 extends 부모인터페이스명 ,,, {} 접근지정자 - public : 외부 패키지에서 접근 가능 / package : 패키지 내부에서만 접근 가능 - 인터페이스는 객체화가 되지 않는다. (생성자 없음) public interface 인터페이스명{ 상수 abstract method();// 구현클래스가 반드시 Override 해야 할 일의 목록 default method(){}// 인터페이스가 기능을 제공해야 할 ..

study/Java 2024.02.25

[sist] 2024.01.17_Java : Polymorphism(다형성), annotation(주석), abstract class(추상클래스)

* Polymorphism(다형성) - 객체다형성 : is a 관계 - method 다형성 : 같은 이름의 method를 작성 1) Overload(Overloading) : 클래스 하나에서 같은 이름의 method를 여러 개 작성. 2) Override(Overriding) : 상속관계의 클래스에서 같은 이름의 method를 작성. * Override(Overriding) - 상속관계에서 같은 이름의 method를 자식클래스에서 재정의 하는 것. - 부모가 제공하는 기능이 자식에게 맞지 않을 때, 자식이 자신의 상황에 맞게 바꿔 사용하는 것. - final이 있는 method는 Override가 되지 않는다. (부모의 기능을 변경하지말고 사용할 때) - Overriding된 method는 자식 클래스의..

study/Java 2024.02.24

[sist] 2024.01.16_Java : Variable Array(가변배열), 사용자 정의 데이터형을 사용한 배열, inheritance(상속), super

* Variable Array(가변배열) - 행마다 열의 개수가 다른 배열. - 이차원 배열 형식. 사용법) 선언 > 생성 > 행마다 열을 생성 > 값 할당 > 사용 1. 선언) 데이터형[][] 배열명 = null; int[][] arr = null; 2. 생성) - 주의: 행만 설정한다. (열을 설정하지 않는다. -> 설정 시 이차원 배열이 됨) 배열명 = new 데이터형[행의수][]; arr = new int[4][]; 3. 행마다 열을 생성) 배열명[행의번호] = new 데이터형[열의수]; 배열명[행의번호] = new 데이터형[]{초기값,,,,}; arr[0] = new int[4]; arr[1] = new int[3]; arr[2] = new int[]{1, 2}; arr[3] = new int[..

study/Java 2024.02.05

[sist] 2024.01.15_Java : 향상된 for문, 이차원 배열, 삼차원 배열

* Improvement for(향상된 for문) - JDK 1.5에서부터 추가된 문법. - 배열, Collection(java.util.List, java.util.Set)의 처음 방부터 마지막 방까지 출력하는 일. - index를 사용할 수 없다. 문법) for(대상의 값을 저장할 변수명 : 대상){// 대상: 배열, Collection 변수명;// 대상의 처음 방부터 끝 방까지 사용할 수 있다. } int[] arr = {10, 20, 30, 400}; // 코드가 짧다, 처음 방부터만 가능 for(int value : arr){ value; } // 코드가 길다, 인덱스를 사용한 작업 가능(끝 방부터 거꾸로 출력, 특정 방의 값을 얻기) for(int i = 0; i < arr.length; i+..

study/Java 2024.02.04

[sist] 2024.01.12_Java : String(문자열), Regular Expression(정규식), Array(배열)

- 문자열이 비어있는지? String str = ""; // empty : 문자열 저장소의 주소는 존재하나 안의 값이 없을 때. String str1 = null; // 참조형 데이터 형의 초기화 값. 객체가 heap의 주소를 참조하지 않았을 때(할당받지 않았을 때) // "" - str.isEmpty() 비교 if(str.length() == 0){ } if(str.isEmpty(){ // 가독성이 더 좋다. } // null은 관계연산자로 비교 str == null // str이 객체가 생성되지 않았음을 비교 str != null // str이 객체가 생성되었음을 비교 - 문자열의 앞, 뒤 공백 자르기 String str = " 가 나다 "; String str1 = str.trim();// "가 나..

study/Java 2024.02.03

[sist] 2024.01.11_Java : call by reference, this, 객체화, String(문자열)

* call by reference - 주소 전달(주소는 유일) - method의 매개변수가 참조형을 가진다면 주소(유일: 어떤 method 안에서 사용하더라도 해당 객체를 사용하게 된다.)가 그대로 전달된다. public class CallByReference{ int i; int j; public void swap(CallByReference cbr){ int temp = 0; temp = cbr.i; cbr.i = cbr.j; cbr.j = temp; System.out.println("swap 안 i: " + cbr.i + ", j: " + cbr.j);// 1, 2024 } public static void main(String[] args){ CallByReference cbr = new Ca..

study/Java 2024.02.03

[sist] 2024.01.10_Java : polymorphism(다형성), constructor(생성자), JVM의 memory, call by value

1. 대상 선정: 손오공, 크리링, 천진반 2. 객체 모델링: * 사람 - 명사적: 눈, 코, 입, 귀, 눈썹, 목, 얼굴, 머리카락, 몸체, 팔, ... - 동사적: 먹는 일, 자는 일, 공부하는 일, 걷는 일, 노는 일, ... 3. 클래스 작성 - Class diagram을 통해 클래스를 작성하고, 클래스 간의 관계를 설정 public class Person{ . . } public class UsePerson{ .// 객체 생성 . } 4. 객체 생성 Person p = new Person(); 5. 객체 사용 p.eat(); * polymorphism (다형성) - 객체 다형성, method 다형성(Overload/Overloading, Override/Overriding) 두 가지를 제공. *..

study/Java 2024.02.03

[sist] 2024.01.08_Java : while, variable(변수), method(일)

* while - 시작과 끝을 모를 때 사용하는 반복문. - 최소 0번 수행에 최대 조건까지 수행. 문법) 초기값;// for처럼 사용 while(조건식){// 조건식은 관계연산자, 논리연산자, method 반복수행 문장; 증.감소식;// for처럼 사용 } * do ~ while - 시작과 끝을 모를 때 사용하는 반복문. - 최소 1번 수행에 최대 조건까지 수행. 문법) 초기값;// for처럼 사용 do{ 반복수행문장; 증.감소식;// for처럼 사용 } while (조건식); * variable(변수) - 프로그램에 필요한 값을 일시적으로 저장하고 사용하기 위해. - 가독성 향상. - 선언하는 영역({})에 따라 instance variable(member variable), static variab..

study/Java 2024.02.03
728x90