0830 java

정혜지·2022년 10월 5일

2022.08.30

[학습]
1. API(Application Programming Interface)
- 라이브러리(Library)라고도 함
- 프로그램 개발을 위해 제공되는 클래스 및 인터페이스 모음
- String, System, ...
- 주로 java.lang, java.util, java.time 패키지를 사용
- https://docs.oracle.com/javase/8/docs/api/

	// Object 클래스
	// equals() : 동일 객체인지 비교 후 결과 반환
	Object obj1 = new Object();
	Object obj2 = new Object();
	

// System.out.println(obj1);
// System.out.println(obj2);
// System.out.println(obj1 == obj2);
// System.out.println(obj1.equals(obj2));

	// hashCode() : 객체 주소값을 정수로 변환 반환

// System.out.println(obj1.hashCode());

	// toString() : 객체의 정보(객체의 주소값)를 문자열로 반환
	// 개발자가 호출하지 않아도 객체 호출시 자동적으로 실행되는 메소드

// System.out.println(obj1);
// System.out.println(obj1.toString());

	// System 클래스
	// gc() : 쓰레기 수집기
	IT it;
	

// it = new IT(1);
// it = null;
// it = new IT(2);
// it = new IT(3);

	// 어플리케이션이 구동되는 동안, 메모리 상에서 제거된 객체를 삭제하는
	// 메소드 : 직접 호출하지 않고 알아서 실행이 되는 메소드

// System.gc();

	// getProperty() : 시스템의 속성값

// System.out.println(System.getProperty("os.name"));
// System.out.println(System.getProperty("java.home"));
// System.out.println(System.getProperty("java.runtime.name"));
// System.out.println(System.getProperties());

	// String 클래스
	// 객체비교 : ==, != / equals() : 문자열의 내요을 비교
	
	// charAt() : 지정 인덱으싀 위치 문자를 반환
	String str1 = "Java API";

// System.out.println(str1.charAt(6));
// System.out.println(str1.charAt(8)); // 에러

	// length() : 문자열의 길이 반환

// System.out.println(str1.length());

	// indexOf() : 찾고자 하는 문자의 위치 반환

// System.out.println(str1.indexOf("API"));

	// 대소문자로 변경 

// System.out.println(str1.toUpperCase());
// System.out.println(str1.toLowerCase());

	// substring() : 지정 위치에서 또 다른 지정 위치의 문자열을 반환

// System.out.println(str1.substring(0));
// System.out.println(str1.substring(0, 5));

	// replace() : 지정 문자열을 변경

// System.out.println(str1.replace("Java", "자바"));

	// trim() : 문자열의 앞, 뒤 공백 제거
	String strTrim = "    Java API			";

// System.out.println(strTrim.trim());

	// split() : 특정 구분자를 기준으로 분리된 문자열 반환
	String strSplit = "Java API String Test";

// System.out.println(strSplit.split(" "));

	String[] strSplitArr = strSplit.split(" "); // 정규표현식

// for(String str : strSplitArr) {
// System.out.println(str);
// }

	// StringTokenizer 클래스 : java.util
	StringTokenizer strTokenizer = new StringTokenizer(strSplit, " "); // 일반 문자열

// while(strTokenizer.hasMoreTokens()) {
// System.out.println(strTokenizer.nextToken());
// }

https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html
// Date 클래스
Date date = new Date();
System.out.println(date);

	// SimpleDateFormat() : 특정 문자열 포맷으로 변환
	SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy MM dd");
	System.out.println(simpleDateFormat.format(date));
	
	// "yyyy년 MM월 dd일"
	simpleDateFormat = new SimpleDateFormat("yyyy년 MM월 dd일");
	System.out.println(simpleDateFormat.format(date));
	
	// "yyyy-MM-dd"
	simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
	System.out.println(simpleDateFormat.format(date));
	
	// "yyyy:MM:dd HH:mm:ss"
	simpleDateFormat = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss");
	System.out.println(simpleDateFormat.format(date));
	
	// Calendar 클래스
	Calendar cal = Calendar.getInstance();
	System.out.println(cal.get(Calendar.YEAR));
	System.out.println(cal.get(Calendar.MONTH) + 1);
	System.out.println(cal.get(Calendar.DAY_OF_MONTH));
	System.out.println(cal.get(Calendar.DAY_OF_WEEK));
	System.out.println(cal.get(Calendar.HOUR_OF_DAY));
	System.out.println(cal.get(Calendar.MINUTE));
	System.out.println(cal.get(Calendar.SECOND));






	// LocalDate 클래스 : 로컬 날짜
	LocalDate currentData = LocalDate.now();
	System.out.println(currentData);
	System.out.println(currentData.getYear());
	System.out.println(currentData.getMonth());
	System.out.println(currentData.getMonthValue());
	System.out.println(currentData.getDayOfWeek());
	System.out.println(currentData.getDayOfMonth());
	System.out.println(currentData.getDayOfYear());
	System.out.println(currentData.isLeapYear());

//
System.out.println();

	// LocalTime 클래스 : 로컬 시간
	LocalTime currentTime = LocalTime.now();
	System.out.println(currentTime);
	System.out.println(currentTime.getHour());
	System.out.println(currentTime.getMinute());
	System.out.println(currentTime.getSecond());

//
// System.out.println();

	// LocalDateTime 클래스 : 로컬 날짜 + 시간
	LocalDateTime localDataTime1 = LocalDateTime.now();
	System.out.println(localDataTime1);
	System.out.println(localDataTime1.plusYears(1));
	System.out.println(localDataTime1.minusDays(1));
	
	System.out.println();
	
	// with() : 사용자 정의 변경 - 년, 월, 일, 시, 분, 초
	LocalDateTime localDataTime2 = LocalDateTime.now();
	System.out.println(localDataTime2);
	
	// 초기화 후 변경
	LocalDateTime localDataTime3 = null;
	System.out.println(localDataTime3);
	
	localDataTime3 = localDataTime2.withYear(2024).withMonth(2).withDayOfMonth(22).withHour(14).withMinute(22);
	System.out.println(localDataTime3);
	
	// ZonedDateTime 클래스 : 특정 zone의 날짜, 시간
	ZonedDateTime seoulDateTime = ZonedDateTime.now(ZoneId.of("Asia/Seoul"));
	System.out.println(seoulDateTime);
  1. 상속(Inheritance)

    • https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html

    • 부모가 자식에게 물려주는 행위
      - 상속하는 클래스 : 상위, parent, super, base

      	- 상속받는 클래스 : 하위, child, sub, derived
    • 클래스 구성요수 "변수"와 "메소드"만 상속

    • java.lang.Object : 모든 클래스 최상위

    • 필요성 : 기존의 구현 코드 상속 받아 사용(재사용성), 필요 속성 혹은 기능 확장 개발(확장성)
      재사용성 -> 개발 속도 향상

    • 제약 : 자식 = 부모 관계에서만 성립

    • 문법
      class 자식클래스명 extends 부모클래스명{
      변수, 메소드만 상속
      자식만의 변수, 메소드 추가 개발 기능
      }

    • 자동 생성되는 코드
      - 클래스 선언구
      extends Object

      	- 생성자
      		미구현시 자동으로 추가
      		생성자별 첫 라인에 부모 생성자 '호출' : super();
    • 메소드 재정의(오버라이딩 overriding/override)
      - 반환타입 메소드명 argument list는 100% 동일
      - {} body 부분을 수정
      - 부모의 메소드 로직을 그대로 반영하여 자식에게 사용할 경우, super()

    • 키워드
      super
      - 하위 클래스에서 가지는 상위클래스에 대한 참조 값
      super() : 상위 클래스 기본 생성자 호출
      상위 클래스 인스턴스 참조값을 가지므로 상위 클래스 메서드 혹은 멤버변수에 접근 가능

https://github.com/choko5901/DouzoneClassContent

profile
오히려 좋아

0개의 댓글