리뷰노트/Java
-
[Java]짧게 훑어보는 Java 간단 지식(오버라이딩&오버로딩, 추상클래스, 인터페이스, SOLID-객체지향의 설계원칙)리뷰노트/Java 2023. 11. 29. 13:01
오버라이딩(Overriding) & 오버로딩(Overloading) 오버라이딩(Overriding)은 상위 클래스에 있는 메소드를 하위 클래스에서 재정의 하는 것입니다. 오버로딩(Overloading)은 매개변수의 타입이나 개수를 다르게 하여 같은 이름의 메소드를 여러 개 정의하는 것입니다. 추상클래스(Abstract Class) & 인터페이스(Interface) 추상클래스(Abstract Class) 클래스 내에 추상 메소드가 하나 이상 포함되거나 abstract로 정의된 경우를 말합니다. 상속받는 클래스들의 공통적인 로직을 추상화 시키고 기능 확장을 위해 사용합니다. 다중상속이 불가능하지만 인터페이스는 다중상속이 가능합니다. 인터페이스(Interface) 모든 메소드가 추상 메소드로만 이루어져 있는 ..
-
[Java]짧게 훑어보는 Java 간단 지식(Java란, 컴파일 과정, JVM, GC, 메모리 영역)리뷰노트/Java 2023. 11. 21. 20:39
*제목 그대로 Java의 기본적인 지식을 짧게 되새김 할려고 합니다. Java 란 객체지향 프로그래밍 언어입니다. 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어입니다. JVM(자바가상머신) 위에서 동작하기 때문에 운영체제에 독립적이라는 장점을 갖고있습니다. (반대로 JVM 위에서 동작하기 때문에 실행속도가 상대적으로 느리다는 단점을 가지고 있습니다.) GC(Garbage Collector)를 통한 자동적인 메모리 관리가 가능합니다. 다중 상속이나 타입에 엄격하며 제약이 많습니다. Java 컴파일 과정 개발자가 .java 파일을 생성 후 build 를 합니다. 그러면 Java compiler의 javac 명령어를 통해 .class 파일(b..
-
[JAVA] interface(인터페이스) 와 abstract class(추상클래스)리뷰노트/Java 2023. 1. 31. 22:47
자바 공부를 하면 언제나 필수적이고 면접 질문으로 자주 나오는 인터페이스와 추상클래스의 대해서 적어보겠습니다. 추상클래스 abstract로 선언된 추상 클래스는 상속을 위한 클래스기 때문에 객체를 생성할 수 없고 상속을 통해 자식 클래스에서 만들어지도록 유도하는 미완성 설계도 라고 할 수 있습니다. 또한, 다중 상속을 지원하지 않기 때문에 여러 개의 추상 클래스를 상속 할 수 없습니다. abstract class 추상클래스이름 { public abstract void 추상메소드이름1(); public abstract void 추상메소드이름2(); ''' } 추상메소드 : 선언부에서 작성되어지고 구현부에서는 작성되지 않은 채로 남겨두는 것이고 상속받는 클래스에 따라서 구현 되는 내용이 달라질 수 있습니다...
-
[Java] String Array -> int Array 로 변환하는 방법리뷰노트/Java 2022. 8. 10. 16:36
String Array 에서 int Array 로 변환하는 방법 2가지 1. stream API JAVA 8 부터는 객체 생성의 역할을 하는 클래스 메소드인 정적 팩토리 메소드를 사용할 수 있습니다. 우선 string Type의 Array인 stringArray를 각 정수형으로 변환 후 다시 Array로 변환하여 int Type의 Array인 intArray에 넣으면 됩니다. public class Main { public static void main(String[] args) { String[] stringArray = { "1", "2", "3", "4", "5"}; int[] intArray = Arrays.stream(stringArray) .mapToInt(Integer::parseInt) ...