1. 자료구조Import.java.util.*를 사용해야 한다.1-1. Arrays불변형 배열//배열 선언 및 값 삽입int[] score = new int[5];score[0] = 10;//배열 순회for (int i = 0; i 1-2. List가변형 배열//배열 선언List list = new ArrayList();List list2 = new ArrayList(Arrays.asList("자바","파이썬","C++")); //수정 가능List list3 = Arrays.asList("자바","파이썬","C++"); //수정불가List list4 = new LinkedList(); // LinkedList 선언//배열 값 삽입list.add("html");list.add(1,"html"); //1 인..
Thread 기본 개념에 대해서 알아보자우리는 우리도 모르게 thread를 사용해왔다. 자바의 main 스레드를 실행시켜서 작업을 처리해왔다. 이런 스레드를 좀더 잘 이해하고 잘 사용하면 성능 향상을 만들어 낼수 있지만 공부해야할 것이 많은 그리고 작업을 만들때 고민해야하는 것이 많지만 확실히 도움이 될꺼라고 생각해서 공부하려 한다! 시리즈 식으로 정리하며 공부해보려고 한다.1. 프로세스와 스레드Process프로세스는 메모리에서 실행중인 프로그램의 인스턴스를 뜻한다. 프로그램이 실행되면 운영체제가 메모리를 할당해서 프로세스를 생성하고 이를 통해서 프로그램이 독립적인 환경에서 실행된다.독립성 : 각 프로세스는 독립적인 메모리 공간을 가지며 다른 프로세스가 접근할 수 없다.자원 할당 : 운영체제는 프로세스..
Package-privaet 접근 제한자 자바에서 대부분의 클래스는 외부에서 사용하기 위해서 만드는 경우가 많다. 클래스를 설계할 때 외부 클래스에서 접근할 수 있는 멤버와 접근할 수 없는 멤버를 구분해서 필드, 생성자, 메서드를 설계하는 것이 바람직하다. 이때 누군가는 호출을 어디까지 허용할 건지 만드는 것이 접근 제한자이다. 접근 제한자의 종류와 적용할 대상은 다음 표와 같다. 접근 제한 적용 대상 접근할 수 없는 클래스 public 클래스, 필드, 생성자, 메소드 없음 protected 필드, 생성자, 메소드 자식 클래스가 아닌 다른 패키지에 소속된 클래스 default 클래스, 필드, 생성자, 메소드 다른 패키지에 소속된 클래스 private 필드, 생성자, 메소드 모든 외부 클래스 이젠 클래스,..
Static, Final이란? static이랑 final은 class의 필드(변수들) 이랑 메소드(함수들)을 선언할 때 사용한다. 둘은 맴버들(필드,메소드)들을 어떻겍 사용하는지에 대한 정의 권한이라고 생각하면 편하다. 그럼 2개를 나눠서 알아보자 Static static은 '고정된'이라는 의미를 가진 단어이다. 정적, static맴버는 클래스에 고정된 맴버로써 객체를 생성하지 않고 사용할수 있는 필드와 메소드를 뜻한다. 일반적으로 선언된 맴버들은 인스턴스 맴버라고 해서 사용을하려면 객체(class)를 생성하고 사용해야하지만 static맴버들은 클래스가 메모리로 로딩되기만 하면 .연산자를 사용해서 바로 접근할 수 있다. 예시코드 public class Calculator{ static double pi ..
Java의 Getter와 Setter에 대해서 알아보자 객체지향으로 프로그래밍을 하다보면 객체의 데이터는 외부에서 직접적으로 접근하는걸 막게된다. private double speed; 이런식으로 객체의 무결성이 깨질수도 있기 때문이다. 아래 예시를 한번 보자 Setter 예시 Mycar.speed = -50; 어떤 클래스에 이런 차의 속도를 저장하는 필드값이 있다고 할때, 속도는 음수가 될수 없음으로 메소드를 사용해서 제약조건을 걸수도 있다. void setSpeed(double speed){ if(speed < 0){ this.speed = 0; return; } else { this.speed = speed; } } 0이하의 속도는 0으로 만드는 set메소드를 만들었다 이것이 바로 Setter이다...
Interface란??!!!클래스와 관련된 추상화 매커니즘을 제공한다. 클래스가 특정한 ㅁ[서드를 구현할 것을 보장하는데 사용한다.'interface'키워드를 사용해서 인터페이스를 정의할 수 있다.인터페이스는 특징이 5가지가 있다.1. 추상 메서드 (Abstract Method)인터페이스는 추상 메서드를 정의할 수 있다. 단지 선언만 할 수 있다.// 인터페이스 정의interface MyInterface { void myMethod(); // 추상 메서드 (abstract method) 선언}2. 상속(Constant)인터페이스는 상수을 정의할 수 있다.interface MyInterface { // 추상 메서드 void abstractMethod();} 3. 다중 상속 지원클래스는 단..