![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bqC60u/btrQOlfr9GC/t2elAO06Uiw7PpNo4aIeek/img.png)
📌 접근제어자 멤버 또는 클래스에 사용되어 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한 접근 제어자의 종류 접근 제어자가 지정되어 있지 않은 경우는 접근 제어자가 default 임을 뜻한다. 접근제어자를 사용하는 이유 핵심은 캡슐화 결합도 캡슐화 : 객체지향의 4대 특성 중 하나 , 정보의 은닉화 클래스 내부에 선언된 데이터를 외부로부터 보호하기 위해 외부에서 불필요한 부분을 감추어 복잡성을 줄이기 위해 //상황 1 : public으로 작성이 되어 잘못된 값을 지정한다고 해도 오류가 발생하지 않는다.public class Time{ public int hour; public int minute; public int second; } Time t = new Time(); t.hour = 2..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/tAsqf/btrQOPtyWlB/dwr52oJfj5u7cPM6A40mYk/img.png)
동일성(Identity) 두 객체가 완전히 같은 경우를 칭한다. 완전히 같다는 의미는 메모리에 저장된 객체 중 같은 객체를 가리킨다는 의미다. 즉, 각 변수에 저장된 객체의 주소가 같은지를 비교한다. 위 그림에서 refVar2, refVar3 둘 다 객체2를 가리키고 있기 때문에 두 변수가 가리키는 객체는 동일하다고 말할 수 있다. 두 객체가 동일한지는 ==연산자를 통해 판별한다. 참고로 int, double 같은 Primitive 타입은 객체를 갖지 않기 때문에 == 연산자를 사용했을 때 값이 같으면 true 값이 리턴된다. 동등성(Equality) 동등성은 두 객체에 저장된 값이 같은 값인 경우를 의미한다. 동등성은 변수가 참조하고 있는 객체의 주소가 서로 다르더라도 내용만 같으면 두 변수는 동등하다..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/sK3Lb/btrQrGLJ50V/60kWrACidLrieYUF9CFEs1/img.png)
노드는 싱글스레드로 동작하지만 자바는 멀티스레드를 지원한다. 노드는 스레드가 하나이기 때문에 스레드 하나가 모든 요청을 처리하지만 자바는 요청에 따른 스레드를 생성하고 각각의 스레드가 요청을 처리한다. test1의 경우 for문을 통해 100번을 돌면서 product의 quantity가 하나씩 감소하며 결론적으로 0이 된다. 하지만 동시에 여러 입력이 들어왔다고 가정을 해보자. 100번이 똑같이 실행됐지만 결과를 확인해보면 테스트가 실패한 것을 확인할 수 있다. 4번의 삭제밖에 이루어지지 않았다. 왜 이런문제가 생긴 것 일까? 동시에 실행되기 때문에 프로세스의 끝나는 시간이 모두 일치하지 않는다. quantity값을 읽고 처리하기 전에 이전 스레드가 처리한 결과값을 이어받지 못해 하나의 스레드가 quan..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bd6yZY/btrJgQfbM1d/9n60R2hZkJc3mHwjFI3sb0/img.png)
추상클래스 1️⃣ 정의 보기 추상 클래스는 여러 클래스들의 공통적인 특징을 포함하는 미완성 설계도이다. A클래스, B클래스, C클래스가 있다고 가정하면 여기서 각 클래스 안에는 각자의 필드와 메서드가 존재한다. 추상 클래스는 A클래스, B클래스, C클래스들 간에 비슷한 필드와 메서드를 공통적으로 추출해 만들어진 클래스다. 일반 클래스의 공통적인 부분을 추출해 어느 정도 규격(틀)을 잡아 놓는 추상적인 클래스이다. 추상 메소드는 추상 클래스 내부에서 선언이 가능하며 자식 클래스에서 반드시 오버라이딩 해야만 사용할 수 있는 메소드를 의미한다. 추상 클래스는 인터페이스의 역할도 하면서 클래스의 기능도 가지고 있는 자바의 돌연변이 같은 클래스이다. 오버라이딩 => 💡 오버라이딩(overriding)이란 상속 관..