개발/기술면접 관련 대비

기술면접 대비 질문 모음🥸

코린이딱콩 2022. 8. 26. 23:05

1.JAVA의 장단점에 대해 설명해주세요.

✔️장점  

자바는 JVM 위에서 동작하기 때문에 OS에 독립적입니다. 메모리를 자동으로 관리하고 ,JVM에서 작동하기 때문에 운영체제의 종류에 상관없이 작동합니다. 또 멀티스레드 구현이 가능하고 동적로딩을 지원합니다.

 

💡단점

JVM 을 거쳐야 하기 때문에 실행속도가 다른 언어보다 느립니다. 

2.객체지향 언어의 특징은 뭔가요?

✔️캡슐화

데이터와 코드의 형태를 외부로부터 알 수 없게 하고, 데이터의 구조와 역할, 기능을 하나의 캡슐형태로 만드는 방법입니다.

✔️상속

상위클래스의 모든걸 하위클래스가 모두 이어받는 것 입니다. 즉, 부모가 자식에게 유전자를 물려주듯이 부모의 특징을 자식에게 모두 물려줍니다.

✔️다형성

하나의 객체가 여러가지 타입을 가질 수 있는 것을 의미합니다.

자바에서는 이러한 다형성을 부모 클래스 타입의 참조변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 구현하고 있습니다.

예로는 오버로딩과 오버라이딩이 있습니다.

 

✔️추상화

클래스를 정의할 때 불필요한 부분들을 생략하고 객체의 속성 중 중요한 것에만 중점을 두어 개략화 하는것, 즉 클래스들의 중요하고 공통된 성질들을 추출하여 슈퍼 클래스를 선정한는 개념입니다.

 

3.추상클래스와 일반 클래스의 차이점이 뭔가요?

객체화 가능의 여부입니다. 일반 클래스는 객체화가 가능하고 추상클래스는 객체화가 불가능합니다.

 

4.추상클래스와 인터페이스의 차이점이 뭔가요?

추상클래스는 하나 이상의 추상 메소드를 포함하는 클래스를 가리킵니다. 이러한 추상클래스는 객체 지향 프로그래밍에서 중요한 특징인 다형성을 가지는 메소드의 집합을 정의할 수 있도록 해줍니다. 

인터페이스는 모든 메소드가 추상 메소드로만 이루어져 있습니다. 

추상클래스는 상속받아 기능을 확장시킬 수 있고, 인터페이스는 함수의 껍데기만 있으며 그 함수의 구현을 강제하기 위해 사용됩니다.