javaboiii의 JAVA 44

JAVA -13) 내부 클래스

JAVA1. 내부 클래스내부 클래스는 클래스 안에 만들어진 또 다른 클래스로 중첩 클래스라고도 부릅니다. 클래스에 다른 클래스를 선언하는이유는 두 개의 클래스가 서로 긴밀한 관계를 맺고 있기 때문입니다. 내부 클래스는 다음과 같은 장점이 있습니다.두 클래스 멤버들 간에 손쉽게 접근할 수 있습니다.불필요한 클래스를 감춰서 코드의 복잡성을 줄일 수 있습니다.보통 바깥쪽의 클래스를 '외부 클래스', 안쪽의 클래스를 '내부 클래스'라고 합니다. 외부 클래스를 한 대의 자동차로가정한다면, 내부 클래스는 그 자동차를 구성하는 엔진, 기어, 방향지시등처럼 독립적으로 존재 하지만자동차를 완성하는데 반드시 필요한 부품에 속합니다.public class OuterClass{ // 외부 클래스 ... class Inn..

JAVA - 스레드(Thread)

JAVA스레드(Thread)프로그램에서 스레드는 실질적으로 일을 수행하는 주체 스레드는 프로세스 내에서 실행되는 하나의 흐름스레드가 여러 개 있으면 동시에 여러 작업을 수행 할 수 있음각 스레드는 독립적으로 실행되지만, 같은 프로세스 내에서 자원을 공유할 수 있음 프로세스(process)프로세스는 실행 중인 프로그램을 의미함각 프로세스는 독립된 메모리 공간을 가지고 있음하나의 프로세스 내에서 여러 스레드가 실행될 수 있음 자바에서 스레드는 다양한 역할을 수행하며,병렬 처리와 동시 실행을 가능하게 함 병렬처리스레드는 병렬 처리를 통해 여러 작업을 동시에 수행할 수 있게 함웹 서버에서 여러 클라이언트의 요청을 동시에 처리할 때 각각의 요청을 별도의스레드에서 처리함으로써 서버의 응답 속도를 향상시킬 수 있음 ..

JAVA - 예외처리

JAVA예외프로그래밍에서 예외란 비정상적인 프로그램 종료를 뜻함 사용자(클라이언트, 고객)이 프로그램을 이용하다가 예외가 발생하게 되면프로그램이 즉시 종료(비정상종료)되기 때문에예외를 개발자가 미리 처리해야됨 예외처리예외처리는 위와 같은 이유로 프로그램이 비정상적으로 종료되는 것을 예방하기 위함임 JAVA의 예외 처리 문법은try{}catch(예외클래스){}finally{}  try{}에는 예외가 발생할 수도 있는 코드예외가 아닐 시 아무일도 일어나지 않음 예외가 발생하면 즉시 catch문으로 이동됨catch{}에 작성한 예외클래스 catch문 어떤 예외가 발생할지 모르면Exception의 최상의 클래스 Exception을 등록 finally{}는 예외 발생여부와 무관하게finally{} 수행

JAVA -12) 추상 클래스와 인터페이스

JAVA1. 추상 클래스와 추상 메서드추상 메서드(Abstract Method)다형성을 위해 메서드의 선언은 통일해야 하지만 실제로 구현하는 내용은 자식 클래스마다 달라야 할 때, 부모 클래스의메서드는 비워두고 자식 클래스에서 오버라이딩하여 구현해낼 수 있습니다.자바는 이와 같은 경우를 공식 지원하며 방법을 제공하고 있습니다. 선언부만 작성하고 구현부는 작성하지 않고 남겨둔미완성 메서드를 '추상 메서드'라고 부릅니다.추상 메서드를 선언할 때는 abstract 키워드를 함께 표기해야 합니다. 또한 메서드 구현부인 중괄호{ } 대추상 메서드를선언하는 방법은 다음과 같습니다.[접근 제한자] abstract 반환 타입 메서드 이름(매개변수1, 매개변수2...);하지만 'abstract 메서드는 반드시 abstr..

JAVA -11) 다형성과 타입 변환

JAVA1. 클래스에서의 타입 변환타입 변환은 타입을 다른 타입으로 변환하는 것으로 자바에서는 다음과 같이 두 가지의 대표적인 타입 변환이 있습니다.자료형(타입) 변환클래스의 객체 타입 변환클래스의 타입 변환도 마찬가지로 자동 형 변환과 강제 형 변환이 있습니다. 단, 자료형에 비해 타입 변환이 가능한범위가 상당히 좁습니다. 클래스의 타입 변환은 서로 상속 관계에 있는 클래스 사에서만 변환할 수 있습니다.클래스의 자동 타입 변환자료형에서의 자동 형 변환과 마찬가지로 개발자가 직접 명시하지 않아도 자동으로 타입 변환이 일어나는 것을'클래스 자동 타입 변환'이라고 부릅니다. 클래스 자동 타입 변환은 상속 관계에 있는 자식 클래스의 객체를 부모 타입의객체로 변환하는 것을 말합니다. 클래스의 자동 타입 변환을 ..

JAVA -10)상속

JAVA1. 상속(Inheritance)상속이란상속은 부모가 자식에게 무언가를 물려주는 것을 상속이라고 부르는 것처럼, 자바에서도 부모 역할을 하는 클래스가자식 역할을 하는 클래스에게 클래스 멤버와 매서드를 물려주는 것을 상속이라고 합니다.상속은 클래스를 재사용하기 때문에 중복을 줄여주고 수정을 최소화하는 특징을 가지고 있습니다. 상속을 해주는 클래스 : 부모 클래스, 상위 클래스, 기반 클래스상속을 받는 클래스 : 자식 클래스, 하위 클래스, 파생 클래스 자바에서 상속을 구현하는 방법은 자식 클래스를 선언할 때, extends라는 키워드를 사용해 상속받을 클래스를지명합니다. 자식 클래스에서 선택받은 클래스는 부모 클래스 역할을 하게 됩니다.class A{ // 부모 클래스는 작식 클래스에서 지명받기 전..

JAVA -9)생성자

JAVA1. 생성자의 특징생성자란클래스를 구성하는 구성요소 중 하나인 생성자는 객체를 생성할 떄 호출되어 객체의 초기화를 담당하는 특별한메서드입니다. 객체를 생성하고 초기화하기 위해서는 반드시 생성자를 호출해야 합니다. 따라서 객체를 생성해야하는 라이브러리용 클래스는 모두 생성자를 가지고 있습니다. 클래스 ==> 생성자 ==> 객체 생성 생성자는 일반 메서드와 달리 반환 타입이 없으며, 메서드 이름은 클래스 이름과 동일합니다.생성자의 기본 구조는 다음과 같습니다.클래스명(매개변수1, 매개변수2...){}생성자의 호출 위치일반 메서드들과는 다른게, 생성자는 호출할 수 있는 곳이 정해져 있습니다. 생성자는 클래스를 기반으로 객체를 생성할 때객체의 초기화를 담당하는 역할을 하므로 객체를 생성할 때만 호출할 수..

JAVA -8) 메서드(Method)

JAVA1. 메서드(method)메서드메서드란 클래스 안에서 특정 기능을 수행하기 위해 코드들을 따로 하나의 블록으로 묶어 놓은 집합을 말합니다.필요에 따라 이 집합을 호출해 사용할 수 있습니다.메서드를 구현함으로써 같은 내용의 코드를 반복적으로 사용하는 것을 피할 수 있습니다.즉, 반복 되는 문장들을 묶어서 메서드로 작성해 놓으면 필요할 때마다 재사용이 가능하며 중복된 코드를 제거할 수있습니다. 이것이 메서드를 사용하는 이유 중 하나이기도  합니다.이렇게 메서드처럼 코드들의 집합을 따로 분리하는 것을 "모듈화"라고 부르기도 하는데, 모듈화는 코드를 읽을 때가독성이 좋으며, 프로그램을 수정할 때 더욱 빠르고 쉽게 수정할 수 있습니다. 메서드 선언메서드는 크게 선언부(signature)와 실행 영역(bob..

JAVA - MVC패턴 예제

JAVADTO를 두개 다루는 프로그램DTO가 두개면 DAO도 두개라는 뜻 model 파일이 많을 때 개념별로 나누기 DAO/DTO별로 나누기 view가 많을 때 팀이름을 파일명으로 UF 사용자 입장에서 login / main .... LP 개발자 입장에서 기능별로 BoardDAO 중public ArrayList selectAll(BoardDTO boardDTO) { System.out.println(" model.BoardDAO selectAll() 시작"); ArrayList datas = new ArrayList(); if(boardDTO.getCondition().equals("ALL")) { // 글 전체 출력 System.out.println(" model.Board..

JAVA -7)클래스(Class)

JAVA1. 객체 지향 프로그래밍객체와 객체 지향 프로그래밍(OOP : Object - Oriented Programming)객체 지향 프로그래밍이란, 말 그대로 객체를 지향하는 프로그래밍 방법을 말합니다.여기서 객체는, 우리 실생활에 존재하는 모든 것으로 생각할 수 있습니다.객체는 일반적으로 상태를 표현할 수 있고 우리가 행동으로 실행할 수 있는 모든 것을 말합니다.이런 객체를 중심으로 프로그램 구조를 설계하고 프로그래밍 하는 것을 객체 지향 프로그래밍이라고 합니다. 순서대로 일어나는 일을 시간순으로 프로그래밍하는 것을 절차 지향 프로그래밍이라고 합니다. 절차 지향 프로그래밍의 대표적인프로그램은 C언어가 있습니다.2. 객체와 클래스클래스란객체 지향 언어에서 가장 중요한 용어인 클래스는 한마디로 객체를 ..