[자바 – Java]프로그래밍 방법론 – 함수형 프로그래밍, 객체지향 프로그래밍, 1급 시민, 구조적 프로그래밍, 절차식 프로그래밍, 순수함수

1. 프로그래밍 방법론   1) 절차식 프로그래밍 : 순차적인 명령을 수행하고 간단한 분기만 가능하다. 2) 구조적 프로그래밍 : 특정 변수를 묶어 구조화하고 이를 통해 프로그래밍의 효율을 높인다. 3) 객체 지향 프로그래밍 : 객체를 기반으로 프로그래밍되며 클래스, 속성, 기능들의 현실 세계 모델을 반영한다. 4) 함수형 프로그래밍 : 객체의 형태를 벗어나 함수형을 확장해 함수를 변수처럼 사용 가능하다. … Read more

[자바 – Java] 내부 클래스 ; 인스턴스 정적 지역 익명 클래스

1. 내부 클래스 (inner class)   1) 클래스 내부에 선언한 클래스이다. 2) 내부 클래스를 감싸고 있는 외부 클래스와 밀접한 연관이 있다. 3) 다른 외부 클래스에서 사용할 일이 거의 없는 경우에 내부 클래스로 선언해서 사용한다. 4) 중첩 클래스라고도 한다. 2. 내부클래스의 종류   1) 인스턴스 내부 클래스   – 내부적으로 사용할 클래스를 선언한다. (private으로 선언하는 것을 … Read more

[자바 – Java] 컬렉션 프레임워크 인터페이스 List Set Map Iterator

1. 자료구조 (data structure)   1) 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러 구현 방법들이다. 2) 효율적인 자료구조가 성능 좋은 프로그램의 기반이다. 3) 자료의 효율적인 관리는 프로그램의 수행 속도와 밀접한 관련이 있다. 4) 자료구조에 대한 이해가 중요하다. 2. 자료구조 종류   1) 선형 자료구조 : 한 줄로 자료를 관리하기 배열(Array) – 정해진 크기의 메모리를 … Read more

[자바 – Java]유용한 클래스 – Object, String, StringBuilder, StringBuffer, Text Block, Class클래스, reflection, new instance

1. Object 클래스   1) 모든 클래스의 최상위 클래스 – 모든 클래스는 Object 클래스를 상속받는다. 그리고 Object 클래스의 메서드 중 일부는 재정의해서 사용 가능하다. – 컴파일러가 extends Object를 추가한다. – 2) java.lang 패키지 – 프로그래밍 import  하지 않아도 된다. – 많이 사용하는 기본 클래스들이 속한 패키지이다.(Object, String, System 등) 3) toString() 메서드 – 객체의 정보를 … Read more

[자바 – Java] 객체지향 프로그래밍 특징 추상화 다형성 캡슐화 정리

객체 지향 프로그래밍   1) 추상화(Abstraction)와 일반화   – 어떤 영역에서 필요로 하는 속성이나 기능을 추출하는 작업을 추상화, 일반화라고 한다. – 데이터 구조, 표현방법에 대한 추상화를 말한다. 추상화의 의도는 단순화이며, 일반화의 의도는 공통점을 뽑아내는 것이다.   2) 캡슐화 (Encapsulation)   – 데이터를 감싸서 외부에서 사용 가능한 부분만 제공(information hiding)한다. 사용하는 코드(client)가 세부적인 사항을 알 필요가 … Read more

[자바 – Java] 인터페이스 추상클래스 사용 이유 상속 예제 구현 implements

1. 인터페이스(Interface) 1) 모든 메서드가 추상 메서드로 선언된다. (public abstract)2) 모든 변수는 상수로 선언된다. (public static final)3) Java 8부터 디폴트 메서드(default method), 정적 메서드(static method) 등의 기능 제공으로 일부 구현 코드가 있다. 2. 인터페이스 구현 & 형(Type) 변환 1) 인터페이스를 구현한 클래스는 인터페이스 형으로 선언한 변수로 형 변환이 된다. Calc calc = new CompleteCalculator(); 2) … Read more

[자바 – Java] 추상클래스 추상메소드 인터페이스 예제

1. 추상 클래스   1) 구현 코드 없이 메서드의 선언만 있는 추상 메서드(abstract method)를 포함한 클래스를 이야기한다. – 메서드 선언 (declaration) : 반환 타입, 메서드 이름, 매개변수로 구성한다. – 메서드 정의 (definition) : 메서드 구현(implementation)과 동일한 의미 구현부(body)를 가진다. ({}) public abstract void checkDownCast(ArrayList list);        //선언 public void checkDownCast(ArrayList list) { }         … Read more

[자바 – Java] 다형성 구현 이유 형변환 instanceof

1. 다형성 (polymorphism)이란?   1) 하나의 코드가 여러 자료형으로 구현되어 실행되는 것이다. 2) 같은 코드에서 여러 실행 결과가 나온다. 3) 정보은닉, 상속과 더불어 OOP의 가장 큰 특징 중 하나이다. 4) 다형성을 잘 활용하면 유연하고 확장성 있고, 유지보수가 편리한 프로그램을 만들 수 있다. 2. 다형성을 사용하는 이유(=장점)   1) 상속과 메서드 재정의를 활용하여 확장성 있는 프로그램을 … Read more

[자바 – Java] 자바 상속 예제 문제 생성자 오버라이딩 super 다형성

1. 클래스 상속   1) 새로운 클래스를 정의할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 클래스를 구현된다. 2) 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속한다. 2. A클래스가 B클래스에게 상속한다. (= B클래스가 A클래스를 상속받는다.) 상속하는 클래스 – 상위 클래스, parent class, base class, super class   상속받는 … Read more

[자바 – Java] 자바 배열 선언 정렬 출력 추가 복사 자르기

자료 구조   대량 데이터를 효율적으로 관리하는 메커니즘이다.(ex. 우편번호, 인사부서를 통한 인원 관리)   1. 배열(Array)이란?   1) 동일한 자료형의 순차적 자료 구조이다. 2) 타입이 같은 둘 이상의 데이터를 저장할 수 있는 1차원 구조의 메모리 공간을 배열이라고 한다. 3) 자료를 순차적으로 한꺼번에 관리하는 방법이다. 4) 물리적 위치와 논리적 위치가 동일하다. 5) 배열의 순서는 0부터 시작한다. … Read more