자바프로그래밍 썸네일형 리스트형 java11.basic_API.string /* StringBuilder, StringBuffer 클래스 문자열을 저장하는 String클래스는 내부의 문자열을 직접 수정할 수 없다. 예를 들어서 String.replace() 메서드는 내부의 문자열을 변경아니라 새롭게 대체된 문자열객체를 리턴한다. 예를 들어서 "JAVA" + "PROGRAMMING"을 실행하는 경우 내부문자열을 수정할 수 없기 때문에 "JAVA PROGRAMMING"이라는 새로운 String객체를 생성한 후에 그 객체의 참조주소를 리턴한다. 문자열을 결합할 경우에 "+"연산자를 사용하면 그 수 만큼의 새로운 String객체의 수가 증가하기 때문에 프로그램의 성능저하의 원인이 된다. 따라서, 문자열을 변경하는 작업이 많을 경우에는 String 클래스를 사용하는 것 보다 java.l.. 더보기 java11.basic_API.class /* System 클래스 자바프로그램은 운영체제에서 실행되는 것이 아니라 JVM위에서 실행되기 때문에 운영체제의 모든 기능을 자바코드가 직접 수행(개발)하기란 매우 어려운 작업이다. 하지만, java.lang.System클래스를 이용하면 운영체제의 일부기능들을 이용할 수가 있다. 프로세스의 종료(exit), 키보드 입력(scanner()), 콘솔입출력(in(), out()), 메모리정리(gc()), 현재시간(nanoTime()...)등의 정보를 얻을수가 있다 1. 프로그램 종료(exit()) 경우에 따라서 프로세스(JVM)을 강제로 종료시킬 필요가 있는 경우도 있다. 이떄 System.exit(int) 메서드를 호출하면 현재 실행하고 있는 프로세스를 강제로 종료시킬 수가 있다. exit()메서드는 int.. 더보기 java11.basic_API.Objects /* Objects클래스 Object클래스와 유사한 이름을 가진 java.util.Objects클래스는 객체의 비교, 해시코드생성, null여부, 객체문자열의 리턴등의 연산을 수행하는 static메서드로 구성된 Object의 유틸리티 클래스이다. 1. 객체비교(compare(T a, T b, Comparator c)) Objects.compare()메서드는 2개의 객체를 비교해서 int값(-1,0,1)을 리턴한다. java.util.Compare는 제네릭 인터페이스 타입으로 두 객체를 비교하는 compare(a,b) 메서드가 정의되어 있다. */ public class CompareMain { public static void main(String[] args) { Student s1 = new Stud.. 더보기 java09.exception /* 예외(Exception)? 자바에서 응용프로그램의 오류ㅜ가 발생하는 것을 에러(Error)라고 한다. 에러는 JVM이 실행중에 문제가 발생하는 것으로 결국 프로그램의 실행이 불가능하게 된다. 이런 경우에 개발자는 픅로그램이 정상적으로실행될 수 있도록 해야 하는데 에러를 처리할 방법이 없다면 이를 대처할 수 없게된다., 대부분의 프로그램 언어에서는 이런 에러이외에 예외(Exception)라고 불리는 오류가 있는데 예외란 사용자의 잘못된 조작 또느 개발자의 잘못된 코딩으로 발생하는 프로그램오류를 말한다. 예외가 발생하면 프로그램ㅇ느 곧바로 종료가 된다는 점에서 에러와 동일하지만 예외는 예외처리를 통해 프로그램을 종료하지 않고 정상적인 실행상태가 유지ㄷ 될 수 있도록 한다. 예외는 2가지 종류가 있는데 .. 더보기 java08.nested /* 중첩클래스 중첩클래스는 클래스 내부에 선언되는 위치에 따라서 3가지로 분류된다. 1. 클래스멤버 선언되는 중첩클래스 "객체(인스턴스)멤버클래스"라고 하고 2. static으로 선언되는 중첩클래스는 "정적멤버클래스"라고 하며 3. 메서드 내부에 선언되는 중첩클래스는 "로컬멤버클래스"라고 한다. 객체멤버클래스는 클래스나 객체가 사용중(생성)이라면 언제든지 사용할 수 있지만 로컬멤버클래스는 매서드가 실행될 때만 사용할 수 있고 메서드가 종료 되면 메모리에서 삭제가 된다. 중첩클래스들도 하나의 클래스이기 때문에 컴파일을 하면 바이트코드파일(~.class) 이 각각 생성된다. 다만 바이트코드파일의 이름은 "A$B.class"의 형태로 생성된다. 로컬멤버클래스일 경우에는 "A$1D.class"의 형태로 생성된.. 더보기 java07.interface /* 인터페이스(interface) Java에서 인터페이스는 객체의 사용방법을 정의한 설계이다. interface도 참조타입이다. 인터페이스는 객체의 교환성(형변환)을 높여주기 때문에 다형성을 구현하는 매우 중요한 역할을 한다. 특히, Java8버전에서부터 인터페이스의 중요성은 커졌다. Java의 람다식(자바스크립트의 화살표함수와 유사)은 함수적인터페이스 (Function Interface)의 구현객체를 생성하기 때문이다. function add(){ return a+b; } 인터페이스는 개발코드와 객체가 서로 통신하는 접점역할을 한다. 개발코드가 인터페이스의 메서드를 호출하면 인터페이스는 객체의 메서드를 호출한다. 그렇기 때문에 개발코드는 객체의 내부구조를 알 필요가 없고 인터페이스의 메서드만 알고 있.. 더보기 이전 1 2 다음