protected 접근제한자
2021. 7. 23. 16:30
JAVA
protected 접근 제한자는 상속에 쓰이면 편한 접근 제한자이다. protected는 public과 default 접근 제한의 중간쯤에 해당된다. 같은 패키지에서는 default와 같이 접근 제한이 없지만 다른 패키지에서 자식 클래스는 접근을 허용한다. protected는 필드, 생성자, 메소드 선언에 사용될 수 있다. 위의 그림의 경우 D클래스는 A의 필드, 생성자, 메소드에 접근이 가능하다. 하지만 new 연산자를 사용해서 생성자를 직접 호출할 수 없고, 자식 생성자에서 super( )로 A 생성자를 호출할 수 있다.
Set 과 Iterator
2021. 7. 23. 16:04
JAVA
Set Set 인터페이스를 구현한 모든 Set 컬렉션 클래스는 다음과 같은 특징을 가진다. 1. 요소의 저장 순서를 유지하지 않는다. 2. 같은 요소의 중복 저장을 허용하지 않는다. 대표적인 Set 컬렉션 클래스에 속하는 클래스는 다음과 같다. 1. HashSet 2. TreeSet HashSet 클래스 HashSet 클래스는 Set 컬렉션 클래스에서 가장 많이 사용되는 클래스 중 하나이다. JDK 1.2부터 제공된 HashSet 클래스는 해시 알고리즘(hash algorithm)을 사용하여 검색 속도가 매우 빠르다. HashSet 은 가장 기본적인 Set 컬렉션의 클래스인데, 입력 순서를 보장하지 않고, 순서도 마찬가지로 보장되지 않는다. 그러면 어디에 쓰이냐는 생각이 들 수도 있다. 가장 쉽게 이해할..
접근 제한자와 게터(Getter) 세터(Setter)
2021. 7. 19. 18:29
JAVA
접근 제한자란? 접근 제한자란, 접근 권한을 제한하는 키워드다. 왜 사용하는가? 멤버들은 객체 자신들만의 속성이자 특징이므로 대외적으로 공개되는 것이 결코 좋은 것은 아니다. 그런 이유로 개발자가 객체의 멤버들에게 접근 제한을 걸 수가 있는데 자바에서는 이를 접근 제한자라 칭한다. 접근 제한자의 종류 접근 제한자의 종류는 총 4가지로, 외부 접근을 거부하는 private(비공개)에서부터 모든 접근을 허용하는 public(완전 공개)까지 존재한다. public 과 private public 키워드는 완전한 공개를 의미한다. 모두가 사용할 수 있는 공공의 산물이 되는 것이다. 이와 반면 private은 비공개를 의미한다. 오직 해당 클래스 내부에서만 사용할 수 있게 된다. 적용 및 장점 접근 제한자는 필드와..
생성자(Constructor) 호출과 정의
2021. 7. 16. 13:25
JAVA
생성자(Constructor)란? 생성자는 클래스 이름과 같은 이름의 함수다. 생성자는 void, int, String 등의 반환형이 선언돼 있지 않아서 리턴 값이 없다. 생성자는 중복 정의될 수 있다. 생성자는 객체를 초기화하는 작업만 하는 함수다. 생성자를 정의하지 않으면 컴파일러가 알아서 디폴트 생성자를 만들어 사용한다. 쉽게 말해서 생성자란, 객체를 만드는 특별한 메소드다. 생성자의 역할 생성자는 두 가지 역할을 한다. 객체 생성 : 객체를 만드는 것 객체 초기화 : 객체의 필드 값을 설정하는 것 생성자를 몰랐을 당시 생성자는 객체를 만들기만 했다. 초기화는 따로 진행했었다. /* 1. 객체 생성 */ Cat c = new Cat(); /* 2. 필드 초기화 */ c.name = "네로"; c.w..
Thread(쓰레드)
2021. 7. 15. 11:12
JAVA
Thread(쓰레드) 운영체제(OS)에서 실행 중인 하나의 어플리케이션 즉 ctrl + alt + del창 작업 관리자에서 프로세스 탭에 올라와 있는 어플리케이션 하나를 하나의 프로세스라고 부른다. Thread(쓰레드)는 간단히 정의하면 하나의 프로세스에서 독립접으로 실행되는 하나의 일, 또는 작업의 단위를 말한다. 간단히 말해 쓰레드를 여러개 사용하면 동시에 여러 작업을 할 수 있는 뜻이다. 우리가 익히 알고 있는 main 함수 역시 쓰레드이다. 프로그램 실행 시 실행되는 첫번째 쓰레드이기 때문에 main함수를 우리는 메인 쓰레드라고도 한다. 쓰레드의 장점 가장 큰 장점은 동시성, 동시에 여러 일들을 할 수 있다. 그렇기 때문에 작업의 효율성을 높일 수 있게 된다. 쓰레드끼리 메모리를 공유한다. 그렇기..