Programming Language/JAVA(25)
-
[JAVA] 상속(extends)과 구현(implements)의 차이
■ 상속(extends) 상속은 자식이 부모의 특징을 상속받아서 사용가능하다는 특징이 있습니다. 이를 통해 코드의 재사용성을 높이고 코드의 중복성을 최소화 할 수 있습니다. 따라서 자식은 부모의 특징을 상속받아서 사용함으로써 코드의 효율을 높일 수 이고, 자식이 원하는 특징을 추가 및 확장이 가능한 것을 의미합니다. ■ 구현(implements) 구현이란 특정 인터페이스를 클래스에서 구현한다는 것을 의미합니다. 이를 통해 인터페이스에서 정의한 메서드에 강제력이 생김으로써 해당 인터페이스를 구현한 클래스에서는 인터페이스의 메서드를 재정의함으로써 구현을 해야합니다. ■ 상속과 구현의 특징 클래스에서 클래스에 다중 상속은 불가능하지만, 인터페이스에서 인터페이스에 다중 상속은 가능하며, 클래스에 여러 인터페이스..
2020.09.24 -
[JAVA] 객체 지향 프로그래밍(OOP : Object-Oriented Programming)의 특징
■ 객체 지향 프로그래밍의 4가지 특징 ■ 캡슐화(encapsulation) 캡슐화는 말그대로의 캡슐이라는 의미적인 표현에서 알 수 있듯이 크게 2가지 특징을 확인할 수 있습니다. 우선은 이해를 돕기 위해 캡슐형태의 감기약을 예시로 설명하겠습니다. 첫번째, 캡슐형태의 감기약 안에는 감기를 치료한다는 한가지의 목적을 갖는 연관성을 띄는 다양한 약품들이 들어 있다는 것을 알 수 있다. OOP에서도 특정 역할을 하는 속성(멤버변수), 기능(메서드)을 객체로 묶은 것을 의미합니다. 두번째, 캡슐이 내부의 약품들에 변질과 외부의 환경으로부터 보호 하고 있듯이, OOP에서도 접근제어자와 같은 기능들을 통해 외부접근으로부터 데이터를 보호하고 정보를 은닉하는 것을 의미합니다 ■ 추상화(abstraction) 추상화의 ..
2020.09.24 -
[JAVA] 스트림(Stream) API 활용
■ 스트림(Stream) 이란 ? 스트림을 이용하면 선언형(질의로 표현할 수 있다)으로 컬렉션 데이터를 처리할 수 있다. 스트림은 배열(Arrays) 또는 컬렉션(collection) 처리, 관리하기에 유용한 기능을 지원한다. ※ 대표적인 메서드 메서드 설명 void forEach(Consumer
2020.08.07 -
[JAVA] Arrays 클래스 활용 (배열 다루기)
■ Arrays 클래스 Arrays 클래스에는 배열을 다루기 위한 다양한 메소드가 포함되어 있다. Arrays 클래스의 모든 메소드는 클래스 메소드(static method)이므로, 객체를 생성하지 않고도 바로 사용할 수 있다. ■ Arrays 대표적인 메서드 정리 메서드 설명 static Object[] copyOf(Object[] original, int newLength) 배열을 원하는 길이만큼 복사한 배열을 반환한다. static Object[] copyOfRange(Object[] original, int from, int to) 배열의 복사를 지정한 부분(시작 인덱스부터 끝 인덱스까지)을 복사한 배열을 반환한다. static void fill(Object[] a, int fromIndex, i..
2020.08.06 -
[JAVA] StringTokenizer 클래스 활용 (문자열 구분자로 자르기)
■ StringTokenizer 클래스 문자열을 구분자(delim)을 기준으로 토큰형태로 분리하는 작업에 유용하다. String 객체의 split 메서드와 유사하고 보다 섬세한 작업이 가능하다. ■ StringTokenizer 생성자 정리 생성자 설명 StringTokenizer(String str) 문자열 str를 기본 구분자(\t\n\r)로 분리 StringTokenizer(String str, String delim) 문자열 str를 특정 구분자(delim)로 분리 StringTokenizer(String str, String delim, boolean returnDelims) 문자열 str를 특정 구분자(delim)로 분리 returnDelims 가 true : 구분자 포함 returnDelims..
2020.08.06 -
[JAVA] JVM의 메모리 구조
■ JVM 이란? JVM(Java Virtual Machine)은 Java로 작성된 애플리케이션을 실행시키기 위해 반드시 필요한 가상 컴퓨터로서, Java 애플리케이션이 OS와 하드웨어에 독립적으로 실행가능하게 한다. OS와 하드웨어와의 관계가 독립적이라는 의미는 어떤 OS(Windows, Linux .. ) 라고 하더라도 해당 OS에 실행가능한 JVM만 존재한다면, Java 애플리케이션이 실행가능하다는 것이다. 단, JVM는 OS에 종속적이기 때문에 해당 OS에서 실행가능한 JVM이 필요하다. ■ Java 애플리케이션 실행 구조 예시) OS가 Windows일 경우 JVM은 Java 애플리케이션을 OS와 하드웨어에 구애받지 않고 실행가능하게 함으로써 Java 애플리케이션이 한번 작성되면 어떤 환경(OS,..
2020.08.05