JAVA
-
스레드(Thread)JAVA 2023. 3. 2. 20:30
프로세스(Process) : 실행 중인 프로그램 멀티 태스킹 : 동시에 여러 갱의 프로세스를 실행하는 것 스레드 : 프로세스 내에서 실행 단위가 되는 하나의 작업 흐름 스레드의 종류 단일 스레드 : 프로세스 내에서 수행 흐름이 하나 멀티 스레드 : 프로세스 내에서 수행 흐름이 어러 개 - 멀티스레드는 네트워크 서비스나 안드로이드 어플리케이션을 개발할 때 주로 사용 Thread 클래스를 상속받는 방법 extends Thread run() 메소드 재정의 Thread를 상속받은 클래스의 객체 생성 start() 메소드 호출 Runnable 인터페이스를 구현하는 방법 implements Runnable run() 메소드 재정의 Thread 객체 생성 후 Runnable 인터페이스를 구현한 객체를 인자로 전달 s..
-
static 키워드JAVA 2023. 3. 2. 20:30
메모리를 공유 멤버 접근 클래스이름.변수이름 ex) System.in 클래스이름.메소드이름 ex) Math.random() Stack이나 Heap 메모리 이외의 별도의 메모리 영역(Static 메모리)에 값을 저장하여 공유 Static 메모리에 값을 공유하기 때문에 static으로 선언한 변수와 메소드는 따로 객체를 생성하지 않아도 사용 가능 - static으로 선언한 것은 객체를 생성하지 않고 사용하는 것이 메모리를 절약할 수 있다. 각 객체만의 고유한 상태 값이나 메소드를 가져야하는 경우에는 static을 사용하면 안된다. - 인스턴스 멤버로 선언해야 한다. 자바의 모든 클래스의 최상위 클래스는 Object 클래스이고, Object 클래스가 가지고 있는 멤버를 상속받는다. ex) toStri..
-
생성자(Constructor)JAVA 2023. 3. 2. 20:25
클래스 이름과 같고, 반환형이 없다. 자기 자신의 오버로딩된 생성자 호출시 this 키워드 사용 - 생성자는 해당 클래스의 이름과 동일하기 때문 하위 클래스의 생성자에서는 반드시 상위 클래스의 생성자를 호출하게 되어있다. super, this 키워드는 메소드의 첫 줄에서만 사용 가능 - super와 this 모두 사용할 경우에는 super를 먼저 써준다. ※ 이클립스에서 패키지나 클래스 이름을 대소문자만 변경할 경우, 이클립스에서 인식을 잘 못하는 현상이 발생할 수 있다. 이러한 경우에는 차라리 임시로 다른 이름으로 변경한 다음에 다시 대소문자 변경한 이름으로 변경하는 것이 좋다. 기본(디폴트) 생성자 생성자를 정의하지 않으면 컴파일러가 자동으로 생성 반환형 및 매개변수와 블록 내에 수행 코드..
-
상속(Inheritance)JAVA 2023. 3. 2. 20:20
상속 : 상위(부모) 클래스의 멤버를 그대로 물려받는 것. 기존 클래스에 영향을 주지 않으면서 재사용 가능 상위 클래스의 모든 멤버를 물려받는 것은 아니다.(private 접근제한자로 설정된 멤버는 직접 접근 불가) extends 키워드를 사용 public calss 자식클래스 extends 부모클래스 { } 자바에서는 다중 상속을 허용하지 않는다. 다중 상속: 하나의 자식 클래스가 여러 부모 클래스를 상속받는 것 super 키워드 부모 클래스의 멤버를 호출할 때는 super 키워드를 사용한다. 부모 클래스의 멤버와 동일한 이름을 가진 멤버를 super 키워드 없이 호출하면 자식 클래스의 멤버를 우선 사용한다.(= 오버라이딩) 부모 클래스에서 상속 가능한 접근제한자(public, protected)로 선..
-
클래스와 객체(인스턴스)JAVA 2023. 3. 2. 20:10
클래스는 프로그래머가 정의한 데이터 타입이다.(= 참조 자료형) 객체 생성 방법 - 먼저 클래스를 정의한 후, new 연산자를 이용해서 객체(인스턴스)를 생성한다. //데이터 타입(클래스) 참조변수 = new 연산자 생성자 Point2D pt = new Point2D(); 참조 변수를 통해서만 객체에 접근할 수 있다. 클래스의 구성 요소(멤버) 멤버 필드(= 멤버 변수, 인스턴스 변수) 초기값을 부여하지 않으면 데이터 타입 별 deafult 초기값이 자동으로 부여된다. 멤버 메소드 this 키워드 - 해당 객체의 멤버 필드를 호출할 때 사용 객체 지향 프로그래밍(Object Oriented Programming) 사물을 단순화해서 최종적으로 Object로 인식하려는 프로그래밍 방식 Object를 기반..
-
메소드(Method)JAVA 2023. 3. 2. 20:00
코드를 모듈화하여 재사용이 용이 return의 사용 메소드 강제 종료 값의 반환 - 반환해야 할 값이 있을 때만 해당 메소드 오버로딩(Overloading) 메소드 오버로딩 : 한 클래스 안에 메소드 명은 같고, 매개변수의 개수나 타입이 다른 같은 이름의 메소드를 여러 개 정의하는 기능 매개변수는 해당 메소드 내에서만 사용 가능 (임시 변수라고도 함) main 메소드의 매개변수 String[] args는 입력된 문자열을 공백(space) 단위로 String 소스 편집기에서 마우스 오른쪽 > Run As > Run Configurations > Arguments