Developer Cafe

웹개발자 기술면접 정리 1 본문

기술면접

웹개발자 기술면접 정리 1

개발자 카페 2021. 3. 17. 22:01
728x90

오버로딩 오버라이딩 차이

오버로딩

  • 같은 이름의 메소드를 여러개 정의하는 것
  • 매개변수의 타입이 다르거나 갯수가 달라야한다.
  • return type과 접근제어자는 영향을 주지 않음
public class Overloadingtest {

    // test() 호출
    void test(){
        System.out.println("매개변수 없음");
    }
   
    // test에 매개변수로 int형 2개 호출
    void test(int a, int b){
        System.out.println("매개변수 "+ a + "와 " + b);
    }
   
    // test에 매개변수 double형 1개 호출
    void test(double d){
        System.out.println("매개변수 " + d);
    }
}
public class test {

    public static void main(String[] args) {
       
        // Overloadingtest 객체 생성
        Overloadingtest ob = new Overloadingtest();
       
        // test() 호출
        ob.test();
       
        // test(int a, int b) 호출
        ob.test(10, 20);
       
        // test(double d) 호출
        ob.test(50);
       
        // test(double d) 호출
        ob.test(123.4);
    }
}

오버라이딩

  • 상속에서 나온 개념
  • 부모클래스의 메소드를 자식클래스에서 재정의
public class Employee{
   
    public String name;
    public int age;
   
    // print() 메소드
    public void print(){
        System.out.println("사원의 이름은 "+this.name+ "이고, 나이는" + this.age+"입니다.");
    }   
}


// Employee 상속
public class Manager extends Employee{
   
    String jobOfManage;
   
    // print() 메소드 오버라이딩
    public void print(){
        System.out.println("사원의 이름은 "+this.name + "이고, 나이는" + this.age + "입니다.");
        System.out.println("관리자 "+this.name+"은 "+this.jobOfManage+" 담당입니다.");
    }
}
public class test {

    public static void main(String[] args) {
        
     // Manager 객체 생성
     Manager lee = new Manager();
     
     // 변수 설정   
     lee.name = "하이언";
     lee.age = 30;
     lee.jobOfManage="프로젝트 매니저";
        
// Overriding된 Manager객체의 print()호출
      lee.print();
    }
}

서블렛 JSP 차이

서블렛

  • Container가 이해할 수 있게 구성된 순수 자바 코드로만 이루어진 것
  • Java 코드 안에 HTML 코드

JSP

  • Java Server Page의 약자로 html기반에 Java 코드를 블록화하여 삽입한것
  • HTML 코드 안에 Java 코드

JDBC

Java Data Base Connection의 약자로 JAVA 언어를 통해 데이터 베이스에 접근할 수 있는 프로그래밍을 의미

MVC 패턴

UI를 성공적이며 효과적으로 데이터 모형에 관련시키기 위한 방법론 또는 설계 방식중 하나 MVC 패턴은 목적 코드의 재사용에 유용한 것은 물론, UI와 응용프로그램 개발에 소요되는 시간을 현저하게 줄어줌

1. Model

  1. 어플리케이션의 정보, 데이터를 나타낸다
  2. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.
  3. 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야 한다.
  4. 변경이 일어나면, 변경 통지에 대한 처리 방법을 구현해야만 한다.

2. View

UI 내의 구성요소들을 표현

3. Controller

Model과 View를 연결하고 있는 다리 역할, Model과 View 내의 클래스들 간의 정보 교환하는데 사용

인터페이스 추상 클래스 차이

추상 클래스

  • 추상 메서드(메서드의 정의부만 있고 구현부는 있지 않은 메서드)를 적어도 하나 이상 가지고 있는 클래스
  • 자신의 생성자로 객체 생성 불가능
  • 상속을 강제하기 위함이다. 부모 클래스에서 정의만 해놓고, 실제 동작은 자식 클래스에서 하게 된다.

인터페이스

  • 일종의 추상 클래스
  • 오직 추상 메서드와 상수만을 변수로 갖는다.
  • implements 키워드 사용, 다중 상속 가능
  • 설계도라고 생각하면 된다. 하나의 규약, 즉 구체적인 약속 같은 것으로 인해 협업에 필수적이라고 볼 수 있다.

공통점

  • new 연산자로 인스턴스 생성 불가능
  • 프로토타입만 있는 메서드를 갖는다.
  • 사용하기 위해서는 하위클래스에 확장/구현 해야한다.

차이점

  • 추상 클래스는 일반 메서드를 사용할 수 있지만, 인터페이스는 메서드 선언만 가능하다.

Call by Reference(참조에 의한 호출), Call by Value(값에 의한 호출) 차이

call by Reference - 매개 변수의 원래 주소에 값을 저장하는 방식

 

 

call by Value - 인수로 기본 데이터형을 사용, 주어진 값을 복사하여 처리하는 방식

 

728x90

'기술면접' 카테고리의 다른 글

웹개발자 기술면접 정리 6  (0) 2021.03.29
웹개발자 기술면접 정리 5  (0) 2021.03.29
웹개발자 기술면접 정리 4  (0) 2021.03.18
웹개발자 기술면접 정리 3  (0) 2021.03.18
웹개발자 기술면접 정리 2  (0) 2021.03.18
Comments