프로그래밍 공부

전체 글 700

카테고리 설명
프로그래밍 공부하는 블로그
  • 쓰레드 우선순위 - 자바의 쓰레드는 우선 순위 라는것을 가지고 있다. - 하나의 프로그램에서 동시에 여러 개의 쓰래드가 운영될 경우 우선 처리할 쓰레드를 결정하는데 쓰레드 우선순위를 이용한다. - 우선 순위 값은 1~10 까지 이며 기본 값은 5 이다. - 쓰레드의 우선 순위 값이 10 이면 가장 먼저 처리할 확률이 높아지고 1이면 다른 것보다 늦게 처리될 확률이 높아진다. - 우선 순위가 높다고 해서 반드시 가장 먼저 처리되는 것은 아니고 가장 먼저 처리될 확률이 높아지는 것 뿐이다. 반복해서 실행을 하더라도 우선순위에 따라 확률이 높아지는 것 뿐 이지 무조건 해당 우선순위에 따라 실행되는 순서가 결정되는 것은 아니다.

  • 쓰레드 - 프로그램을 작성하다 보면 동시에 여러 개의 일을 해야 할 떄가 있다. - 이러한 멀티 프로세싱을 구현 할 수 있도록 제공하는 것이 쓰레드 이다. 쓰레드 작성 법 - 쓰레드를 작성하는 방법은 Thread 클래스를 상속 받는 방법 과 Runnable 인터페이스를 구현하는 방법 두가지가 있다. 클래스 상속 방법 - Thread 클래스를 상속 받고 run .메서드를 구현해 주면 된다. class 클래스 이름 extends Thread { public void run(){ 소스코드 } } 인터페이스 구현 법 - Runnable 인터페이스를 구현하고 run 메서드를 구현하면 된다. class 클래스이름 implements Runnable{ public void run(){ 소스코드 } } 쓰레드 사용 법..

    JAVA

    JAVA 쓰레드 NEW

    2022.08.13
    댓글
  • 인터페이스 - 인터페이슨느 추상 메서드로만 구현되어 있는 것을 가르킨다. - 자바에서는 단일 상속만 지원을 하므로 추상 클래스를 하나 이상 상속받을 수 없다. - 자바에서는 인터페이스를 통해 반드시 구현해야 할 메서드를 동시에 여러개를 구현할 수 있다. - 인터페이스는 다중 상속을 지원하기 위해서 제공하는 것이 아니라 하나의 클래스를 여러 종류의 참조 변수를 통해 접근할 수 있고 메서드를 호출 할 수 있도록 지원되는 개념이다. - 인터페이스에 정의된 메서드는 모두 추상 메서드 이며 변수는 static final 변수이다. - 메서드를 선언할 때 abstract 키워드를 붙히지 않아도 추상 메서드로 간주한다. - 변수에 static final 을 붙히지 않아도 static final 로 간주한다. 인터페이..

    JAVA

    JAVA 인터페이스 NEW

    2022.08.13
    댓글
  • 추상 메서드 - 클래스를 작성할 때 메서드를 구현 하지 않고 선언만 해 놓은 메서드를 추상 메서드 라고 부른다. - 추상 메서드는 구현 되지 않은 메서드 이므로 메서드를 구현을 해야지만 사용이 가능하다. - 추상 메서드는 접근 제한자와 리턴 타입 중간에 abstract 라는 키워드를 붙혀준다. 구현된 메서드 public void method() { } 구현되지 않은 메서드 public abstract void method(); 추상 클래스 - 추상 메서드를 하나라도 가진 클래스를 추상 클래스 라고 부른다. - 추상 클래스는 구현되지 않은 메서드인 추상 메서드를 가지고 있기 떄문에 직접 객체 생성할 수 없다. - 추상 클래스의 기능을 사용하기 위해서는 반드시 추상 클래스를 상속받는 서브 클래스가 있어야 한..

    JAVA

    JAVA 추상클래스 NEW

    2022.08.13
    댓글
  • 중첩 클래스 - 클래스 내부에 클래스를 만들어서 사용하는걸 의미한다. - 프로그래밍을 할 때 여러 군데서 사용하는 클래스가 아니라면 파일을 새로 만들거나 코드의 아래 부분으로 내려서 만들지 않고 바로 만들어서 바로 쓸 수 있도록 하는 개념이다. - 경우에 따라서는 객체를 생성할 수 있는 부분이 클래스를 설계한 부분으로 한정되어 있는 경우도 있다. - 클래스 내부에 만든 클래스를 Inner Class 라고 부르며 Inner 클래스를 감싸고 있는 클래스를 Outer Class 라고 부른다. 일반 중첩 클래스 - 클래스 내부에 클래스를 만들어서 사용하는 경우이다. - Inner 클래스의 객체를 만들기 위해서는 반드시 Outer 클래스의 객체를 생성하고 이를 통해 Inner 클래스를 만들어야 한다. - Inne..

    JAVA

    JAVA 중첩 클래스 NEW

    2022.08.13
    댓글
  • Final - Final 은 더 이상 변경할 수 없다는 의미를 가지고 있는 키워드 이다. - 변수 : 변수에 값을 넣을 수 없으며 변수의 선언과 동시에 초기화를 반드시 해줘야 한다. - 메서드 : 상속관계가 있을 때 자식 클래스에서 메서드를 Overriding 할 수 없다. - 클래스 : 상속을 하지 못하도록 막아 줄 수 있다. 즉, final은 더 이상 변경 할 수 없다 라는 의미를 가지고 있으며 클래스, 메서드, 변수와 함께 사용할 수 있다.

    JAVA

    JAVA Final NEW

    2022.08.13
    댓글
카테고리
작성일
2022. 8. 13. 14:07
작성자
WDmil
728x90

쓰레드 우선순위

- 자바의 쓰레드는 우선 순위 라는것을 가지고 있다.

- 하나의 프로그램에서 동시에 여러 개의 쓰래드가 운영될 경우 우선 처리할 쓰레드를 결정하는데 쓰레드 우선순위를 이용한다.

- 우선 순위 값은 1~10 까지 이며 기본 값은 5 이다.

- 쓰레드의 우선 순위 값이 10 이면 가장 먼저 처리할 확률이 높아지고 1이면 다른 것보다 늦게 처리될 확률이 높아진다.

- 우선 순위가 높다고 해서 반드시 가장 먼저 처리되는 것은 아니고 가장 먼저 처리될 확률이 높아지는 것 뿐이다.

 

우선순위 설정 은 setProiority 를 통해서 가능하다.

 

반복해서 실행을 하더라도 우선순위에 따라 확률이 높아지는 것 뿐 이지 무조건 해당 우선순위에 따라 실행되는 순서가 결정되는 것은 아니다.

728x90

'JAVA' 카테고리의 다른 글

JAVA 예외처리  (0) 2022.08.13
JAVA 쓰레드 동기화  (0) 2022.08.13
JAVA 쓰레드  (0) 2022.08.13
JAVA 인터페이스  (0) 2022.08.13
JAVA 추상클래스  (0) 2022.08.13
카테고리
작성일
2022. 8. 13. 12:49
작성자
WDmil
728x90

쓰레드

- 프로그램을 작성하다 보면 동시에 여러 개의 일을 해야 할 떄가 있다.

- 이러한 멀티 프로세싱을 구현 할 수 있도록 제공하는 것이 쓰레드 이다.

 

쓰레드 작성 법

- 쓰레드를 작성하는 방법은 Thread 클래스를 상속 받는 방법 과 Runnable 인터페이스를 구현하는 방법 두가지가 있다.

 

클래스 상속 방법

- Thread 클래스를 상속 받고 run .메서드를 구현해 주면 된다.

 

 class 클래스 이름 extends Thread {

    public void run(){

        소스코드

    }

}

 

인터페이스 구현 법

- Runnable 인터페이스를 구현하고 run 메서드를 구현하면 된다.

 

class 클래스이름 implements Runnable{

    public void run(){

        소스코드

    }

}

 

쓰레드 사용 법

- Thread 클래스를 상속 받았을 경우에는 상속 받은 클래스의 객체를 생성하고 start 메서드를 호출해 준다.

- interface를 사용할 경우에는 Thread 클래스의 객체를 생성하고 생성자에 인터페이스를 구현한 클래스이 객체를 넣어준다. 그 이후에 start 메서드를 호출해준다.

 

반복문 임에도 쓰래드로 나누어서 동시에 실행되게 할 수 있다.

728x90

'JAVA' 카테고리의 다른 글

JAVA 쓰레드 동기화  (0) 2022.08.13
JAVA 쓰레드 우선순위  (0) 2022.08.13
JAVA 인터페이스  (0) 2022.08.13
JAVA 추상클래스  (0) 2022.08.13
JAVA 중첩 클래스  (0) 2022.08.13
카테고리
작성일
2022. 8. 13. 12:31
작성자
WDmil
728x90

인터페이스

- 인터페이슨느 추상 메서드로만 구현되어 있는 것을 가르킨다.

- 자바에서는 단일 상속만 지원을 하므로 추상 클래스를 하나 이상 상속받을 수 없다.

- 자바에서는 인터페이스를 통해 반드시 구현해야 할 메서드를 동시에 여러개를 구현할 수 있다.

- 인터페이스는 다중 상속을 지원하기 위해서 제공하는 것이 아니라 하나의 클래스를 여러 종류의 참조 변수를 통해 접근할 수 있고 메서드를 호출 할 수 있도록 지원되는 개념이다.

- 인터페이스에 정의된 메서드는 모두 추상 메서드 이며 변수는 static final 변수이다.

- 메서드를 선언할 때 abstract 키워드를 붙히지 않아도 추상 메서드로 간주한다.

- 변수에 static final 을 붙히지 않아도 static final 로 간주한다.

 

인터페이스의 작성

 interface 인터페이스 이름 {

    변수 선언...

    메서드 선언....

}

 

인터페이스의 구현

class 클래스 이름 extends 부모클래스 implements 인터페이스1, 인터페이스2 ...{

}

 

인터페이스는 class선언을 통해서만 작업할 수 있다.
인터페이스끼리는 상속이 가능하다. 그러나 상속된 인터페이스를 구현 시 상속된 인터페이스 싸기 전부 Override 해주어야 한다.

 

728x90

'JAVA' 카테고리의 다른 글

JAVA 쓰레드 우선순위  (0) 2022.08.13
JAVA 쓰레드  (0) 2022.08.13
JAVA 추상클래스  (0) 2022.08.13
JAVA 중첩 클래스  (0) 2022.08.13
JAVA Final  (0) 2022.08.13
카테고리
작성일
2022. 8. 13. 12:10
작성자
WDmil
728x90

추상 메서드

- 클래스를 작성할 때 메서드를 구현 하지 않고 선언만 해 놓은 메서드를 추상 메서드 라고 부른다.

- 추상 메서드는 구현 되지 않은 메서드 이므로 메서드를 구현을 해야지만 사용이 가능하다.

- 추상 메서드는 접근 제한자와 리턴 타입 중간에 abstract 라는 키워드를 붙혀준다.

 

구현된 메서드

 public void method() {

}

 

구현되지 않은 메서드

 public abstract void method();

 

 

추상 클래스

- 추상 메서드를 하나라도 가진 클래스를 추상 클래스 라고 부른다.

- 추상 클래스는 구현되지 않은 메서드인 추상 메서드를 가지고 있기 떄문에 직접 객체 생성할 수 없다.

- 추상 클래스의 기능을 사용하기 위해서는 반드시 추상 클래스를 상속받는 서브 클래스가 있어야 한다.

- 추상 클래스를 상속받은 서브 클래스는 추상 메서드를 반드시 구현해야 한다,

- 추상 클래스는 접근 제한자와 class 키워드 사이에 abstract를 붙혀준다.

- 추상 클래스를 사용하면 특정 메서드의 구현에 대한 강제성을 줄 수 있다.

 

주로 버추얼머신을 사용하여 구현에 대한 강제성을 부여할 때 사용하게 된다.

728x90

'JAVA' 카테고리의 다른 글

JAVA 쓰레드  (0) 2022.08.13
JAVA 인터페이스  (0) 2022.08.13
JAVA 중첩 클래스  (0) 2022.08.13
JAVA Final  (0) 2022.08.13
JAVA Static  (0) 2022.08.12
카테고리
작성일
2022. 8. 13. 11:57
작성자
WDmil
728x90

중첩 클래스

- 클래스 내부에 클래스를 만들어서 사용하는걸 의미한다.

- 프로그래밍을 할 때 여러 군데서 사용하는 클래스가 아니라면 파일을 새로 만들거나 코드의 아래 부분으로 내려서 만들지 않고 바로 만들어서 바로 쓸 수 있도록 하는 개념이다.

- 경우에 따라서는 객체를 생성할 수 있는 부분이 클래스를 설계한 부분으로 한정되어 있는 경우도 있다.

- 클래스 내부에 만든 클래스를 Inner Class 라고 부르며 Inner 클래스를 감싸고 있는 클래스를 Outer Class 라고 부른다.

 

일반 중첩 클래스

- 클래스 내부에 클래스를 만들어서 사용하는 경우이다.

- Inner 클래스의 객체를 만들기 위해서는 반드시 Outer 클래스의 객체를 생성하고 이를 통해 Inner 클래스를 만들어야 한다.

- Inner 클래스는 Outer 클래스의 맴버에 접근할 수 있지만 Outer 클래스는 Inner 클래스의 맴버에 접근 할 수 없다. Inner 클래스의 맴버는 Outer 클래스의 객체가 생성되어 있다는 가정하에 사용하므로 접근이 가능하지만 Outer 클래스는 Inner 클래스의 객체의 생성과 관계가 없으므로 Inner 클래스에 대한 접근이 자유롭지 못하다.

Outer 클래스에서 Inner클래스의 변수를 가져올 수 없다. Outer 클래스에서는 아직 선언되지 않았다고 보기 때문이다.

static 중첩 클래스

- 일반 중첩 클래스에서 Inner 클래스가 static 으로 정의된 경우이다.

- Inner 클래스가 Static 으로 정의되어 있어 Outer 클래스의 객체 생성 없이 바로 객체 생성이 가능하다.

- Inner 클래스에서는 Outer 클래스에 정의된 맴버 중에 Static 맴버만 접근이 가능하다. Outer 클래스의 객체 생성 없이 바로 Inner 클래스의 객체를 생성하므로 Outer 클래스의 객체가 생성되지 않았다는 가정하에 개발을 해야한다.

 

static 이라 다른 class에서 일정 방법으로 접근이 가능하다. 그러나, static이 아닌 변수는 Inner라도 접근 할 수 없다.

메서드 내부의 중첩 클래스 

- 클래스를 메서드 내부에 만든 경우를 의미한다

- 메서드 내부에 만든 중첩 클래스는 다른곳에서 참조 변수 조차 선언할 수 없다.

- Inner 클래스에서는 클래스 내부에 선언한 변수만 사용할 수 있으며 클래스를 만든 메서드 내부에 있는 지역 변수 중 final 변수만 접근이 가능하다. 그 외의 모든 변수는 접근이 불가능하다.

 

익명 중첩 클래스

- 클래스로 부터 객체 생성을 할 때 클래스 내부 코드를 바로 작성하는 것을 의미한다.

- 원본 클래스가 가지고 있는 메서드를 Overriding 해야 할 경우 상속받은 클래스를 만들지 않고 바로 Overriding 을 할 수 있다.

- 추상 클래스라는 것을 이용할 때 자주 사용하는 기법 이다.

 

 

 

정리, 중첩 클래스는 해당 코드 내부에서만 사용하는 클래스 일 경우에만 사용하도록 하자, 다른곳에서는 사용할 수 없기 떄문에 객체지향적이지 않을 수 있다.

728x90

'JAVA' 카테고리의 다른 글

JAVA 인터페이스  (0) 2022.08.13
JAVA 추상클래스  (0) 2022.08.13
JAVA Final  (0) 2022.08.13
JAVA Static  (0) 2022.08.12
JAVA 캡슐화  (0) 2022.08.12
카테고리
작성일
2022. 8. 13. 10:43
작성자
WDmil
728x90

Final

- Final 은 더 이상 변경할 수 없다는 의미를 가지고 있는 키워드 이다.

- 변수 : 변수에 값을 넣을 수 없으며 변수의 선언과 동시에 초기화를 반드시 해줘야 한다.

- 메서드 : 상속관계가 있을 때 자식 클래스에서 메서드를 Overriding 할 수 없다.

- 클래스 : 상속을 하지 못하도록 막아 줄 수 있다.

 

파이널 변수에는 접근 할 수 없다고 경고표시가 나온다.
또한 Class를 선언한 후 사용해도 마찬가지로 접근 할 수 없다.
그러나 값을 출력하는것은 가능 하다.
Class 를 extends 해서 overriding 을 시도하면 final은 overriding할 수 없다는 경고가 나온다.
Class를 final로 선언하면 extends를 할 수 없다.

즉, final은 더 이상 변경 할 수 없다 라는 의미를 가지고 있으며 클래스, 메서드, 변수와 함께 사용할 수 있다.

728x90

'JAVA' 카테고리의 다른 글

JAVA 추상클래스  (0) 2022.08.13
JAVA 중첩 클래스  (0) 2022.08.13
JAVA Static  (0) 2022.08.12
JAVA 캡슐화  (0) 2022.08.12
JAVA 접근 제한자  (0) 2022.08.12