기술면접(3)
-
Java 버전별 차이와 특징
Java 버전 특징 Java는 하위 호환성이 높다 Java 5 또는 8버전이 8~17버전의 가상환경에서 구동되는 것이 보장된다 이를 backward compatible(하위 호환성) 이라고 한다. 반대로 8버전에서 사용할 수 없는 17 기능을 사용한다면 컴파일되지 않는다. java.lang.UnsupportedClassVersionError 가장 변경 사항이 큰 8버전을 기준으로 학습하고, 이후 버전의 변경사항만 알아두는 것으로 충분 배포(Distribution) OpenJDK 프로젝트 이는 배포판이 아닌 소스 자체 소스를 기반으로 빌드를 만들어 배포할 수 있지만 호환성 인증을 확보하기 어려움 OpenJDK 빌드(오라클), OracleJDK OracleJDK는 유료, OpenJDK는 무료 Oracle J..
2023.06.15 -
오버라이딩(Overriding)과 오버로딩(Overloading)
오버로딩 (Overloading) 조건 부모 클래스의 메서드를 자식 클래스에서 재정의 메서드의 이름이 같고, 매개변수(개수, 타입)이 달라야 한다. 리턴 타입과 접근제어자는 상관없다. 예시 class Calculator { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; } } public class Main { public static void main(String[] args) { Calculator calculator = new Calculator(); System...
2023.06.13 -
객체지향의 설계원칙(SOLID)
좋은 설계란 시스템에 새로운 요구사항이나 변경이 있을 때 영향을 받는 범위가 적은 구조를 의미한다. 그래서 예상치 못한 변경이 발생하더라도 유연하게 대처라히 구이해 확장성 있는 시스템 구조화가 필요하다. SOLID 객체 지향 원칙을 적용하면 코들르 확장하고 유지 보수 관리가 쉬워지며, 불필요한 복잡성을 제거해 리팩토링에 소요되는 시간을 줄임으로써 생산성을 높일 수 있다. SOLID는 객체지향 설계 5대원칙이라고 부르며 SRP, OCP, LSP, ISP, DIP 앞글자를 따서 SOLID 원칙이라고 부른다. SRP (Single Responsibility Principle) : 단일책임원칙 모든 클래스는 가각 하나의 책임만 가진다. → 클래스는 그 책임을 완전히 캡슐화해야한다. 하나의 클래스는 하나의 기능을..
2023.06.12