개발/자바JAVA
-
java.util.Date 클래스개발/자바JAVA 2024. 2. 11. 16:07
▶ java.util.Date 클래스 > 날짜와 시간에 대한 정보를 담을 수 있는 클래스 > 자바 개발 초창기에 급하게 만든 완성도가 높지 않은 클래스 (하지만 실무에서 많이 쓰임) 1. 매개변수 생성자를 통해 셋팅 Date today = new Date(); System.out.println("기본생성자 : " + today); // 내가 원하는 날짜 (2020년 6월 19일) Date date1 = new Date(2020 - 1900, 6 - 1, 19, 19, 15, 30); System.out.println("매개변수생성자 : " + date1); > Date 객체 생성 시 매개변수 생성자를 이용할 경우 내부적으로 내가 전달한 년도 + 1900, 내가 전달한 월 + 1 로 나온다. 그래서 셋팅하..
-
String관련 API개발/자바JAVA 2024. 2. 11. 15:37
▶String 관련 클래스 : String은 문자열을 다루기 위해 고안된 클래스 타입(참조 자료형) > 불변 클래스임!! --> 값을 수정할 때마다 메모리 공간 내부에서 값 변경이 일어나는게 아니라 메모리 공간의 할당이 새롭게 일어나기 때문 ▶StringBuilder 와 StringBuffer >값의 수정이 일어날 때 마다 메모리 공간의 할당이 계속 일어남. 이를 해결하기 위해 나온개념들임!! > StringBuilder 가 속도가 조금 더 빠름, 동시에 여러일 처리 못함. > StringBuffer 가 속도는 조금 느리나, 동시에 여러일 처리 가능!!( ==thread safe 하다) ◆StringBuilder는 이런식으로 사용가능하다!! public void method4() { // StringBu..
-
예외 처리(Exception)개발/자바JAVA 2024. 2. 5. 12:19
▶프로그램 오류 > 프로그램 수행 시 치명적 상황이 발생하여 비정상 종료 상황이 발생한 것, 프로그램 에러라고도 함. ▶오류의 종류 ◆ 시스템 에러 : 컴퓨터의 오작동으로 인해 발생하는 에러 > 개발자가 소스코드로 해결 안됨.(제일 심각함) ◆ 컴파일 에러 : 소스코드가 컴파일 되는 시점에서 발생하는 에러(소스코드 상의 문법적인 문제로 발생) > 소스코드 수정으로 해결(빨간 밑줄로 오류를 표시해줌) ◆ 런타임 에러 : 컴파일된 프로그램 코드가 "실행" 되는 시점에서 발생하는 에러 (소스코드 상의 문제는 없는데, 실행중에 발생) > 사용자의 잘못일수도 있고, 개발자가 예측가능한 경우를 제대로 처리 안해놓은 잘못일수도 있음. ◆ 논리 에러 : 소스코드 상의 문법적인 문제도 없고, 실행했을 때도 굳이 문제가 ..
-
기본API(Application Programming Interface)개발/자바JAVA 2024. 2. 2. 16:59
▶API?(==라이브러리) 응용 프로그램 프로그래밍 인터페이스. 프로그래밍에서, 프로그램을 작성하기 위한 일련의 부(Sub) 프로그램, 프로토콜 등을 정의하여 상호 작용을 하기 위한 인터페이스 응?? 한마디로 작업하기 편하라고 대단한 분들이 미리 만들어 놓은 코드들의 모임임. API ?? 라이브러리?? 라이브러리 =A + B .java = .class 즉... 코드 그 자체임. API =사용법을 정리해 놓은 개발 문서 뭐 둘다 도긴개긴 똑같은 놈들이다... https://docs.oracle.com/en/java/javase/11/docs/api/index.html Overview (Java SE 11 & JDK 11 ) This document is divided into two sections: Ja..
-
추상클래스(Abstract Class)개발/자바JAVA 2024. 2. 2. 13:21
▶추상클래스?? : 추상 메서드를 선언해 놓고, 상속을 통해 자식 클래스에서 메서드를 완성하도록 하는 클래스임. 미완성 설계도 라고도 한다. --> 그래서 추상클래스는 메서드와 내용이 추상적이기 때문에 객체를 생성할 수 없다. ◎사용하는 이유 : 1. 공통된 필드와 메서드를 통일할 목적 --> 만약 5명의 개발자가 각각의 실체클래스를 구현하고, 통합한다고 가정해보자. 이때 가이드라인이 없다면, 5명은 각각 필드와 메서드명을 마음대로 만들것이다. 이렇게되면 통합할때 통합하는 사람이 거의 새로 개발을 하는 느낌일 것이다. 유지보수도 개뿔이다. 그래서 추상클래스로 공통 필드와 메서드를 통일해주는 것!! 2. 실체 클래스 구현시, 시간절약 --> 만약 게시판을 만든다고 가정해보자. 코드를 짜기전 게시판의 설계를..
-
다형성(Polymorphism)개발/자바JAVA 2024. 1. 31. 18:18
: 수많은 모양을 가질 수 있는 성질. ※OOP(Object Oriented Programming) (객체지향 3대특징) : 캡슐화, 상속, 다형성 ▶다형성 : - '여러 개의 형태를 갖는다' 는 의미, 하나의 행동으로 여러 가지 일을 수행하는 개념이다. - 상속을 이용한 기술로 부모 타입으로부터 파생된 여러 가지 타입의 자식 객체를 부모 클래스 타입 하나로 다룰 수 있는 기술. -->즉, "상속" 관계에 있는 클래스 타입간의 "형변환" 개념. 상속관계 아니면 안됨 쉽게말해서 같은 이름의 메서드나 연산자가 다른 클래스에 대해 다른 동작을 하도록 하는 것. ※ 다형성을 사용하는 이유 1. 부모타입의 객체배열로 다양한 타입의 자식객체들을 받아줄 수 있기 때문. > 부모타입 하나만으로 다양한 자식 객체들을 다..
-
상속(Inherit) / 오버라이딩(Overriding)개발/자바JAVA 2024. 1. 30. 17:01
▶상속 : 다른 클래스가 가지고 있는 멤버(필드, 메소드)들을 새로 작성할 클래스에서 직접 만들지 않고 상속을 받음으로써 새 클래스가 자신의 멤버처럼 사용할 수 있는 기능. 쉽게 말해, 코드를 물려주는 것이다. 목적? : 클래스의 재사용, 연관된 일련의 클래스들에 대한 공통적인 규약을 정의하기 위함. 뭔소린가 하니... 장점 : 보다 적은 양의 코드로 새로운 클래스 작성이 가능. 코드를 공통적으로 관리하기 때문에 코드의 추가 및 변경 용이 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여함. 이해를 돕기위해 위 예제 class (vo)들을 만들어 준다. Main 클래스를 만들어서 출력을 해본다. 여기까지는 우리가 알고 있는 객체와 메소드를 이용한 기본적인 방법이다. 기존 방법은 매 코드마다..
-
객체배열개발/자바JAVA 2024. 1. 29. 17:25
▶객체배열 : 객체를 저장하는 배열로 배열의 자료형을 클래스명(사용자 정의 자료형) 으로 지정하여 활용. ◎객체배열 없이 여러개의 객체를 관리할 경우. 먼저 Book Vo(필드, 생성자, 메소드) 를 만들어 준다. package com.kh.chat01_oneVsmany.model.vo; public class Book { //필드부 private String title; private String author; private int price; private String publisher; //getter / setter public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } ..