Noah_Developer
Developer Noah
Noah_Developer
전체 방문자
오늘
어제
  • 전체보기 (88)
    • Programmers (33)
      • Level1 (33)
    • FRONT-END (3)
      • React (2)
      • HTML (0)
      • CSS (0)
      • JavaScrpit (1)
    • BACK-END (23)
      • JAVA (14)
      • C (0)
      • Spring (5)
    • DATABASE (11)
      • MySQL (3)
      • Oracle (0)
    • IDE (2)
      • IntelliJ (2)
      • Eclipse (0)
      • VSCode (0)
    • Android (1)
    • 용어 (2)
      • 금융 (2)
    • Developer Diary (5)
      • Web (1)
    • 자격증 (1)
    • Operating System (3)
      • Linux (2)
    • Info (3)

블로그 메뉴

  • 홈
  • 방명록
  • 포트폴리오
  • 깃허브

공지사항

  • 🙏 방문 감사합니다.

인기 글

태그

  • 코딩테스트
  • level1
  • 알고리즘 블로그
  • 프로그래머스 레벨1
  • 크레인 인형뽑기 정답
  • 프로그래머스
  • String StringBuilder 차이
  • programmers
  • 크레인 인형뽑기 풀이
  • 크레인 인형뽑기
  • 알고리즘 쉬운문제
  • 개발일기
  • MySQL
  • 자바 쉬운 알고리즘
  • 프로그래머스 코딩연습
  • 카카오 블라인드
  • programmers level 1
  • 코딩테스트 문제 풀이
  • 초보자 알고리즘
  • 카카오공채
  • 프로그래머스 문제풀이
  • 알고리즘 문제
  • 알고리즘 연습문제
  • 코딩테스트 문제
  • 코딩테스트 준비
  • 자바 알고리즘 연습문제
  • 프로그래머스 연습문제
  • 알고리즘 예제
  • 알고리즘 풀이
  • 카카오 블라인드 테스트

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
Noah_Developer

Developer Noah

BACK-END/JAVA

자바 제어자 (Modifier)

2019. 3. 19. 12:47
728x90


제어자



자바는 OOP의 개념 중 캡슐화를 지원하기 위한 제어자(Modifier) 라는 예약어을 제공한다.



◆ 제어자 (Modifier)


접근제어자를 제외한 나머지를 의미한다.

여러개의 제어자를 조합해서 사용할 수 있으나, 접근제어자는 단 하나만 사용할 수 있는 특징이 있다.


|◆ static


하나의 인스턴스만 허용한다.

'클래스의' 또는 '공통적인' 의미를 가진다.

필드와 메소드를 만들면 .(dot) 이라는 식별성으로 접근해야한다.

static이 붙은 필드와 메소드는 인스턴스를 생성하지 않고도 사용할 수 있다.

( == 현재클래스에서 필드와 메소드를 만들지 않은 메소드를 수행가능하게 해주는 예약어)



||◆ static Field


인스턴스를 생성하지 않아도 사용 가능한 static Field가 된다.

하나의 Application에서 공통적으로 사용 할 수 있는 클래스 변수가 된다.

JRE가 Application 실행 시 main을 호출 하였을 때 생성된다.


||◆ static Method


인스턴스를 생성하지 않아도 사용 가능한 static method가 된다.

static Method내에서는 인스턴스 필드를 직접 사용 할 수 없다.



|◆ final


값 수정 제한 제어자

마지막 , 변경 될 수 없는 의미를 가진다.


||◆ final Class


변경 할 수 없는 클래스 , 확장 할 수 없다. 

다른 클래스에 상속이 불가능하다.


||◆ final Field


변경 할 수 없는 값

상수 ( 1, 2, 3, 4, Math.PI ) 가 해당 된다.


||◆ final Method


변경 할 수 없는 메소드

오버라이딩이 불가능하다.


|◆ abstract


구현 필요 제어자

추상 , 미완성의 의미를 가진다.

메소드의 선언부(Signature)만 작성하고 내부는 구현되지 않았을 때 사용한다.


||◆ abstract Class


클래스 내에 추상 메소드가 선언 되어 있음을 의미한다.


||◆ abstract Method


선언부(Signature)만 작성하고 구현부는 작성하지 않은 추상메소드임을 알린다.



// 아래 부분은 설명이 덜 되어있으니 더 좋은 자료를 찾아봐주세요.

|◆ synchronized


Thread를 이용해서 프로그래밍을 할 때 동기화문제를 해결하기 위해 사용하는 예약어이다.


||◆ synchronized Method


임계영역(critical section)을 정의하는 의미를 가진다.



◆ 정리표


Modifier

Class 

Field 

Method

 static

 O

 O

 O

 final

 O

 O

 O

 abstract

 O

 X

 O

 synchronized

X

 X

 O



728x90
저작자표시 비영리 동일조건 (새창열림)

'BACK-END > JAVA' 카테고리의 다른 글

[Java] 로그 생성 파일 경로 추출  (0) 2021.04.19
[Java] 알고리즘 문자열 2진 검색(Binary Search) 예제  (0) 2021.04.16
[Java] JSCH를 사용한 SFTP 서버 통신 및 파일 다운로드 예제  (0) 2021.04.15
자바 접근제어자(Access Modifier)  (0) 2019.03.18
OOP(Object Oriented Programming)  (0) 2019.03.16
    'BACK-END/JAVA' 카테고리의 다른 글
    • [Java] 알고리즘 문자열 2진 검색(Binary Search) 예제
    • [Java] JSCH를 사용한 SFTP 서버 통신 및 파일 다운로드 예제
    • 자바 접근제어자(Access Modifier)
    • OOP(Object Oriented Programming)
    Noah_Developer
    Noah_Developer
    개발 기록 목적을 가진 블로그입니다.

    티스토리툴바