[SIST] Java_days23
·
TIL/Java
워밍업) Date 클래스를 사용해서 달력만들기 1. 형식화 클래스 : DecimalFormat 클래스 - 숫자(정수, 실수, 금액 등)를 원하는 텍스트(문자열)로 변환하는 클래스 - 원하는 형식으로 표현 또는 반환하기 위해서 패턴을 정의 DecimalFormat의 패턴 코드1) 코드2) + String으로 된 숫자데이터 -> int / double 변환하기 - DecimalFormat 클래스의 parse() 메서드를 사용하면 된다. parse() 메서드의 반환타입은 Number 클래스이며, Number 타입을 int 타입으로 변환하기 위해서는 Number의 intValue();를 사용하면 된다. double은 doubleValue() 사용 예시1) int형으로 변환 예시2) double형으로 변환 2. ..
[SIST] Java_days22
·
TIL/Java
오전에 2~3시간정도 프로그래머스 문제 4가지를 풀어보았다. 이후에 날짜와 시간을 다루는 클래스에서 배웠다. 수업 내용을 아래와 같이 정리하였다. 1. 날짜와 시간 1) 날짜와 시간을 다룰 목적으로 제공된 패키지는 JDK 1.0과 1.1에서는 2가지 밖에 없었다. (1) Date는 JDK 1.0부터 제공되어온 클래스이며, deprecated(폐기될) 메서드가 많다. (Date 클래스는 sql이 아니라 util 패키지 안에 있는것!) (2) Calendar는 JDK 1.1부터 제공되어온 클래스 - 추상클래스이다. - new 연산자로 객체(인스턴스) 생성을 못하고 getInstance() 메서드를 통해 객체(인스턴스)를 얻어와서 사용한다. - 사용하는 나라에 따라서 다음과 같이 객체를 반환 -> 나라마다 달..
[SIST] Java_days21
·
TIL/Java
1. String 클래스 메서드를 사용하여 문자열 변경하기 - 문자열을 변경할 때는 String 클래스 메서드 사용하지말고 StringBuffer 클래스와 StringBuilder 클래스 사용하기 - 아래 코드는 로직 파악하는 개념으로 정리 예시1) 예시2) 예시3) 2. StringBuffer 클래스 - 버퍼(buffer)라는 단어가 있으면 임시기억공간이 있다는 소리 3. StringBuilder 클래스 - StringBuffer 클래스와 차이점 : 스레드에 안전하다(==동기화 처리가 되어져 있다) * 동기화 : A사람(스레드)이 사용할 때 다른 사람(스레드)이 사용하지 못하게 잠금하는 작업을 동기화 처리라고 함 * 공유자원은 꼭 1개여야만 의미가 있음 > 스레드 배울 때 상세히 다룰 예정이며, 지금은..
[SIST] Java_days20
·
TIL/Java
1. java.lang 패키지와 유용한 클래스 - java.lang 패키지는 자바프로그래밍에 가장 기본이 되는 클래스들을 포함하고 있다. - java.lang 패키지의 클래스들은 import문 없이도 사용할 수 있게 되어 있다. (import java.lang.*; 자동으로 추가되어있다고 생각하기) > java.lang 패키지의 여러 클래스들 중에서도 자주 사용하는 클래스 몇 가지를 배웠고 그 내용을 아래에 정리해보고자 한다. 2. Object 클래스 - Object 클래스는 모든 클래스의 최고 조상 == 모든 클래스의 최상위 부모 클래스는 Object 클래스 이다. - Object 클래스는 멤버변수는 없고 오직 11개의 메서드만 가지고 있다. - 11개의 메서드를 오버라이딩하여 사용 Object 클래스..
[SIST] Java_days19
·
TIL/Java
1. 인터페이스 사용하는 이유(장점) 1. 개발 시간 단축 - 클래스를 작성하지 않아도 인터페이스를 구현한 것만으로도 프로그램 작성하는 것이 가능하다. - 프로그램 작성 개발과 인터페이스를 구현하는 클래스 개발 -> 양쪽에서 동시 개발 가능 2. 표준화 가능 - 인터페이스를 구현하면 안에 있는 내용을 오버라이딩하기 때문에 똑같다. (기본틀) - 일관되고 정형화된 프로그램 개발 가능 3. 서로 관계가 없는 클래스들에게 관계를 맺어줄 수 있다. - 서로 관계가 없다 : 서로 상속 관계가 없다, 같은 조상 클래스를 가지고 있지 않다. - 인터페이스를 공통적으로 구현하도록 함으로써 서로 관계를 맺어줄 수 있다. - 즉, 서로 호환이 된다. 코딩 예시) 엔진인터페이스 IEngine 선언 후 H, S, K_Engi..
[SIST] Java_days18_OOP관련
·
TIL/Java
1. package와 import 1. 패키지(package) - 패키지(package) : 서로 관련된 클래스, 인터페이스의 묶음 - 패지키의 목적 : 클래스를 효율적으로 관리, 사용, 유지보수 예시) A 개발자 : DBconn 클래스 생성 -> 고유패키지.DBconn 클래스 -> 패키지명은 도메인으로 많이 사용 B 개발자 : DBconn 클래스 생성 -> 고유패키지.DBconn 클래스 C 개발자 : A, B의 DBconn 클래스(같은이름)를 사용한다면 이름이 똑같기 때문에 충돌이 발생 -> 출동 발생 방지 목적 - 풀네임(full name) : 패키지명.패지명.패키지명...클래스명 ex) days17.Employee - 클래스 -> 물리적으로 파일 - 패키지 -> 물리적으로 폴더(디렉토리) - 패키지..
[SIST] Java_days17
·
TIL/Java
1. 상속(Inheritance) 클래스들 간의 2가지 관계가 있다. 1) has-a 관계 : 자동차(물건, 객체) 클래스 클래스는 수십만개의 부품(객체)으로 이루어져있다. -> Car 클래스는 Engine class, Handle class 등 Car - Engine 클래스들 간의 관계 : Car has Engine (Car가 Engine 클래스를 가진다) ex) Car.engine.moreFuel(20); 코드) System.out.println(); // has-a 관계 // System.out.println("홍길동"); class System { // 필드 static PrintStream out; } class PrintStream { void println() {} } 2) is-a 관계(상..
[SIST] Java_days16
·
TIL/Java
1. 객체 배열 초기화 설명 * import days15.Student; => 클래스는 days15 패키지의 Student 클래스 사용 객체 선언 및 생성 코드) 객체 배열 선언 및 인스턴스 생성) 객체 배열 선언 및 초기화) 객체 배열 선언 및 인스턴스 생성 코딩과 동일한 코딩이다. 2. getter/setter(private로 선언된 필드에 접근하는 방법) 1) getter/setter는 private 멤버(필드)에 접근할 수 있는 방법을 제공하는 메서드이다. 2) getter/setter가 어떤 상황에 쓰이는가? 이유 1) 쓰기 전용/ 읽기 전용의 멤버를 선언하고자 할 때..(쓰기만 하고싶으면 : setter, 읽기만 하고싶다 : getter) 이유 2) 유효한 값을 멤버(필드)에 할당하고자 할 때..
[SIST] Java_days15
·
TIL/Java
15일 차부터는 본격적으로 객체지향 프로그래밍 파트 수업을 듣는다. 내용을 각 파트별로 분류해서 정리하고자 하는데 이번 수업부터는 많이 연관되어 있어서 한꺼번에 정리할 수도 있을 거 같다. 최대한 분리를 해서 깔끔하게 정리를 해보자!! 접근지정자 수업을 듣기 전 클래스 파일을 만들 때 보이는 화면에 대해서 간략하게 설명해 주셨다. 아직 배우지 않은 부분은 배울 때 다시 알려준다고 하셨기에 그 수업 때 다시 정리할 예정이다. - Source folder : 소스파일들이 들어있는 폴더 - Package : 서로 관련이 있는 클래스들의 묶음(클래스를 관리하기 위한 목적으로 패키지 사용) == 폴더 - Modifiers : 접근지정자와 기타제어자를 합쳐서 Modifiers라고 한다. 빨간 네모박스 안에 있는 것..