면접 - 자바 54

개발자 면접 질문 - Call By Reference와 Call By Value

1. Call By Reference - java는 대체적으로 Call By Reference다. - shallow copy(얕은 복사) 라고도 불린다. - a = 10; b = a; 라고 하면 b = 10이 들어가는게 아니라 a의 주소가 복사된다. - b를 수정하면 a에도 영향을 미친다. 2. Call By Value - deep copy(깊은 복사) 라고도 불린다. - a = 10;b = a; 라고 했을 때 b = 10이 된다. - b를 수정해도 a에 영향을 주지 않는다.

면접 - 자바 2020.12.03

개발자 면접 질문 - Singleton 패턴을 쓰는 이유와 문제점

1. 싱글톤 패턴을 쓰는 이유 - 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리 낭비를 방지할 수 있음 2. 싱글톤 패턴의 문제점 - 싱글톤 인스턴스가 너무 많은 일을 하거나 많은 데이터를 공유 시킬 경우 다른 클래스의 인스턴스들 간에 결합도가 높아져 개방 - 폐쇄 원칙을 위배하게 된다. - 수정 및 테스트 하기 어려워진다.

면접 - 자바 2020.12.03

개발자 면접 질문 - 객체 지향 프로그래밍 정의

1. 객체 지향 프로그래밍 - 컴퓨터 프로그램을 명령어의 목록으로 보는 절차지향적 시각에서 벗어나 여러 개의 독립된 단위인 객체들의 모임으로 파악하고자 하는것. 2. 구성요소 - 클래스 : 현실 세계의 객체의 속성과 동작을 필드와 메서드로 정의한 것으로 아직 메모리가 할당되지 않은 상태 - 인스턴스 : 해당 클래스의 구조로 컴퓨터 저장 공간에서 할당된 실체를 의미 - 객체 : Class를 기반으로 실제 메모리가 잡힌 것을 의미하며 이런 객체를 조합해 전체 프로그램을 완성해 나가는 것이 객체 지향 프로그래밍이다. 3. 특징 - 상속 : 부모 Class 를 자식이 접근할 수 있도록 물려받는 방식 - 추상화 : 객체들의 공통된 특성들을 파악하고 불필요한 특성은 제거하는 과정 - 캡슐화 : 필드와 메서드를 하나..

면접 - 자바 2020.12.03

개발자 면접 질문 - 다형성 정의

1. 다형성 - 한 타입의 참조 변수로 여러 타입의 객체를 참조할 수 있어 다양한 결과를 얻어내는 성질 2. 효과 - 하나의 타입으로 다양한 실행 결과를 얻을 수 있다. - 객체를 부품화하여 유지 보수를 편하게 한다. 3. 다형성 성립 조건 - 클래스 계층 구조 (상속 관계) - 메소드 재정의, 동적 바인딩 - 업케스팅 후 재정의 된 메소드 호출

면접 - 자바 2020.12.03

개발자 면접 질문 - 동기화 (synchronized) 정의

1. 동기화 (synchronized) - 한 객체에 여러 쓰레드가 동시에 접근해 사용하는 것을 막기 위해 사용한다. - synchronized 식별자가 붙은 메서드는 한번에 하나의 쓰레드만 접근이 가능하다. - 메서드가 사용 중일 때 다른 쓰레드가 메서드를 호출하면 앞의 쓰레드가 종료될 때까지 기다려야 한다. * synchronized 를 메서드에 선언하면 해당 메서드가 Lock 걸려서 다른 쓰레드가 못들어온다. * synchronized(this) {} 를 사용하면 메서드 내에서 특정 블럭만 동기화 처리를 한다. * static 메서드에서 동기화 블럭을 사용할 때 synchronized(클래스명.class) 를 사용한다. * 동기화 순서를 유지하기 위해서는 아래와 같이 코드를 작성하면 된다. thre..

면접 - 자바 2020.12.02