접근제어자
2021. 6. 15. 20:41
면접 준비/기술 면접
private 같은 클래스 내에서만 접근 가능 default 같은 패키지 내에서만 접근 가능 protected 같은 패키지 & 다른 패키지의 자손클래스에서 접근 가능 public 접근 제한이 전혀 없음
클래스와 인스턴스(객체)
2021. 6. 14. 20:05
면접 준비/기술 면접
클래스 어떤 문제를 해결하기 위한 데이터를 만들어가기 위해 추상화를 거쳐 집단에 속하는 속성과 행위를 변수와 메소드 로 정의한 것 인스턴스(객체) 클래스에서 정의한 것을 토대로 실제 메모리상에 할당된 것으로 실제 프로그램에서 사용되는 데이터
스프링 특징
2021. 6. 11. 20:00
면접 준비/기술 면접
1️⃣ 제어 반전, IoC (Inversion of Control)를 지원함. (예시가 DI) 컨트롤의 제어권이 개발자가 아니라 프레임워크에 있음 객체의 생성부터 모든 생명주기의 관리까지 객체의 제어권이 바뀐 것을 의미함 객체를 생성하고, 직접 호출하는 자바프로그램이 아니라, 만들어둔 자원을 프레임워크에서 호출해서 사용함 2️⃣ 의존성 주입, DI (Dependency Injection) 를 지원함. @Autowired 등 객체간의 의존관계를 관리하는 기술 어떤 객체가 필요로 하는 객체를 자기 자신이 직접 생성하는 것이 아니라, 외부에 있는 다른곳에서 자신이 필요로 하는 객체를 주입받는 것 3️⃣ POJO (Plain Old Java Object) 방식의 프레임워크 일반적인 J2EE 프레임워크에 비해 특..
MVC1, MVC2 패턴
2021. 6. 10. 20:16
면접 준비/기술 면접
MVC MVC(모델-뷰-컨트롤러)는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인패턴 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있음 이러한 분리는 더나은 업무의 분리와 향상된 관리를 제공함 Model, View, Controller를 나눈 구조로 클라이언트로부터 요청이 들어오면 그 요청을 Controller가 받고 해당하는 Model을 호출함 Model은 비즈니스 로직을 처리하여 요청한 값을 컨트롤러에 보내고 요청한 값을 받은 컨트롤러는 View로 전송하는 패턴을 말함 MVC1 JSP 페이지에 비지니스 로직을 처리 하기 위한 코드와 웹 브라우저에 결과를 보여주기 위한 출력 관리 코드가 뒤섞여 있는 구조 💡 정의 : 모든 클라이언트 요청과 응답을 J..
getter, setter 사용이유
2021. 6. 9. 20:59
면접 준비/기술 면접
멤버변수에 사용자가 직접 접근을 못하게 private으로 접근 지정자를 설정하고 public으로 getter, setter메소드를 만듦 이 이유는 사용자가 public으로 쓴 getter, setter로 접근하기 때문에 매개변수같이 어떤 올바르지 않은 입력에 대해 사전에 처리할 수 있게 제한하거나 조절할 수 있기 때문 예를들어, setter에서 유효범위가 넘은 점수가 들어왔을 때의 처리를 할때 예외처리로 넘겨버림
객체지향의 특징
2021. 6. 8. 20:55
면접 준비/기술 면접
1️⃣ 캡슐화 데이터와 데이터를 처리하는 함수를 함께 묶은 것 캡슐화된 객체는 세부 내용은 외부에 은폐되어, 변경이 발생해도 오류의 파급 효과가 낮음 캡슐화된 객체의 재사용이 용이 객체의 세부 내용을 알 필요가 없기에 메세지를 주고받을 시 인터페이스가 단순, 객체간 결합도가 낮아짐 2️⃣ 상속 이미 정의된 부모 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것을 의미 자식 클래스는 부모 클래스로부터 상속받은 속성 연산 외에 새로운 속상과 연산을 추가 사용 가능 부모 클래스의 속성과 연산을 하위 클래스가 공유할 수 있기 때문에, 객체와 클래스의 재사용율을 높이는 효과를 줌 3️⃣ 다형성 하나의 변수명, 함수명 등이 상황에 따라 다른의미로 해석될 수 있음을 의미 오버라이딩, 오버로딩이 이에 해당함 다형..
객체지향 프로그래밍의 장단점
2021. 6. 7. 20:14
면접 준비/기술 면접
장점 코드 재사용의 용이 👉 이미 만들어진 클래스를 가져와 이용할 수 있고, 상속을 통해 확장이용 가능 유지보수가 쉬움 👉 절차 지향 프로그래밍에서는 코드를 수정해야 할 때 일일이 찾아 수정해야하는 반면 객체 지향 프로그 래밍에서는 수정해야할 부분이 클래스 내부의 멤버 혹은 변수로 있기 때문에 해당 부분만 수정하면 됨 대형 프로젝트에 적합 👉 클래스 단위로 모듈화시켜 개발할 수 있으므로 여려명, 여러회사가 함께 개발시 업무 분담하기가 쉬움 단점 객체가 많으면 용량이 커질 수 있음 처리속도가 상대적으로 느림 설계시 많은 시간과 노력이 필요
servlet & jsp
2021. 6. 3. 20:18
면접 준비/기술 면접
servlet java코드안의 html 코드 controller단 사용 DB와 통신 시 데이터를 읽고 확인하는 작업에 유용 HttpServlet을 상속 받아 사용 servlet이 수정된 경우, JAVA코드를 컴파일한 후 동적으로 페이지를 처리하기 때문에 전체 코드를 업데이트를 하고 다시 컴파일한 후 재배보하는 작업이 필요(개발 생산성 저하) jsp html코드안의 java코드 view단 사용 요청 결과를 나타내는 html에서 작성하는데 유용 jsp가 수정된 경우 재배포할 필요가 없이 was가 알아서 처리함(쉬운배포)