자바 5

StringBuffer클래스

StringBuffer란? String처럼 문자열 배열(char[])을 내부적으로 가지고 있다 그러나 String과 달리 내용을 변경할 수 있다.(mutable) public final class StringBuffer implements java.io.Serializable { private char[] value; ... } 편집할 문자열의 길이를 고려하여 버퍼의 길이를 충분히 잡아주는 것이 좋다. 편집 중인 문자열이 버퍼의 길이를 넘어서게 되면 버퍼의 길이를 늘려주는 작업이 추가로 수행되어야하기 때문에 작업효율이 떨어진다. StringBuffer의 생성자 배열의 길이 변경불가. 공간이 부족하면 새로운 배열 생성해야한다 StringBuffer는 저장할 문자열의 길이를 고려해서 적절한 크기로 생성해야한..

Language/Java 2021.10.03

인터페이스

인터페이스란? 인터페이스는 일종이 추상클래스다 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 가질수 없다 모든 멤버변수는 public static final이어야 하며,이를 생략할수 있다 모든 메서드는 public abstract 이어야 하며, 이를 생략할수 있다. 인터페이스는 인터페이스로부터 상속받을 수 있으며, 클래스와는 달리 다중상속,즉 여러개의 인터페이스로부터 상속받을수 있다 다중 상속 단점 두 조상으로부터 상속받는 자손클래스는 어느 조상의 것을 상속받게 되는 것인지 알 수 없다. 어느 한 쪽으로부터의 상속을 포기하던가 이름이 충돌하지 않도록 조상클래스르 변경하는 수 밖에없다 인터페이스는 static상수만 정의할 수 있으므로 클래..

Language/Java 2021.09.26

public static void main(String[] args)

Public(접근제어자) 접근제어자 → private →protected →pulibc → defualt 등이 있는데 public은 어느곳에서든 해당 객체를 참조할수있다는 의미이다. Static Static으로 함수 또는 클래스를 선언했을 경우에 해당 객체는 자바가 컴파일 되는 순간 정의가 된다. 그리고 이후 static이 아닌 객체가 정의가 된다. 따라서 일단 static 객체에서 static이 아닌 객체를 호출하는것은 불가능하다 void. 프로그램 자체가 종료되기 때문에, return값의 의미를 지닐수가 없다. 더쉽게 이해하자면 void자리에 int를 넣을경우 어떠한 처리를 실행한후 정수형 데이터를 돌려보내곘다는 뜻이며 String이 들ㅇ러갈경우 문자형데이터를 돌려보내겠다는 의미이다. 지금까지 정리을..

Language/Java 2021.09.07

프로세스와 스레드 차이점

프로세스(Process)란? 운영체제에게 할당받은 작업 단위이다. 쉽게 말해, 메모리 위에서 현재 실행되고 있는 프로그램을 말한다. 프로그램은 정적인 코드 뭉치이다. 사용자가 실행하지 않으면 영원히 가만히 있는다. 사용자가 프로그램을 사용하겠다고 운영체제에게 알리면, 운영체제는 메모리에 프로그램을 구동할 수 있을 만한 메모리를 할당하고, 메모리는 디스크에서 프로그램을 읽어온다. 실행 준비를 마친 프로그램은 메모리 위에서 실행된다. 이것이 하나의 작업 단위이다. Code/Data/Stack/Heap의 형식으로 할당해 준다. 각각 독립된 메모리 영역을 할당해 주기 때문에 프로세스는 다른 프로레스의 변수나 자료에 접근 할 수 없다. 다른 프로세스의 정보에는 접근할 수 없을까? 접근이 가능하다. 프로세스 간 정..

Language/Java 2021.06.30