본문 바로가기

전체 글

(316)
[JAVA] 래퍼 클래스(Wrapper class) 및 제네릭(Generic) ▶ 래퍼 클래스(Wrapper class) 및 제네릭(Generic) ● 래퍼 클래스(Wrapper class) : 기본 데이터타입 (int,double,String,char등)의 데이터를 객체로 취급해야하는 경우가 있습니다. 메소드의 인수로 객체 타입만 요구하면, 기본타입을 그대로 사용할 수 없습니다. 이때는 기본타입의 데이터를 먼저 객체로 변환하고 인수로 넣어줘야하는데 8개의 기본데이터타입에 해당하는 데이터를 객체로 만들어 주는 클래스를 말합니다. ( java.lang 패키지에서 제공합니다. ) ● 제네릭(generic) : 보통 데이터타입에는 int,String,long 등....과 같은 기본 데이터타입이 존재합니다. 제네릭은 이런 데이터 타입을 명시하지않은 상태라고 생각하시면 됩니다. 데이터타입을..
[JAVA] 오버라이딩(Overriding)과 final클래스 ▶ 오버라이딩(Overriding)과 final클래스 ● 오버라이딩(Overriding) : 상속받은 메소드의 내용을 재정의하는것입니다. 즉, 자신에 맞게 변경해서 사용하는 것입니다. ● 오버라이딩 조건 - 이름이 같아야 한다. - 매개변수가 같아야한다. - 리턴타입이 같아야 한다. - 자식의 접근제한자는 부모의 접근제한자보다 작을수없다. (private < package < protected < public) package Test; class Ferrari{ private int ye; public Ferrari(int ye) { this.ye = ye; } public int getYe() { return ye; } public void speed() { System.out.println(getYe..
[JAVA] 쓰레드(thread)와 프로세스(process),멀티쓰레드, 멀티프로세싱, 데몬쓰레드(Daemon),동기화(Synchronized) ▶ [JAVA] 쓰레드(thread)와 프로세스(process),멀티쓰레드, 멀티프로세싱, 데몬쓰레드(Daemon),동기화(Synchronized) ● 프로세스(Process) : 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램입니다. 또한, 메모리에 올라와 실행되고 있는 프로그램의 독립적인 개체입 니다. Code, Data, Stack, Heap영역의 구조로 되어있는 독립된 메모리 영역입니다. ● 프로세스(Process) 특징 - 프로세스는 각각 독립된 메모리영역을 할당받는다. - 기본적으로 프로세스당 최소 1개의 스레드(메인스레드)가 존재한다. - 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근이 불가능하다. - 한 프로세스가 다른 프로세스의 자..
[JAVA] 예외(exceptional event) 강제예외,예외전가,예외처리 try-catch, finally ● 예외(exception) : 잘못된 코드, 부정확한 데이터, 예외적인 상황에 의해 발생하는 오류이다. ● 예외종류 - 강제 예외 : throw - 예외 전가 : throws - 예외 처리 : try() catch() import java.util.Scanner; public class Test { public static void main(String[] args) { int[] arr = {1,2,3}; for(int i=0;i
[JAVA] 상속( inheritance ) ● 상속 (inheritance) : 자식 클래스가 부모클래스를 물려받아 확장하는 의미로써, 상속을 이용하면 중복이 제거되고 간결한 구조를 가질수있습니다. ● 상속을 통해서 할 수 있는 일 - 기존의 클래스에 다른 기능을 추가할 수 있다. - 클래스의 데이터에 다른 것을 추가할 수 있다. - 클래스의 함수가 동작하는 방식을 변경할 수 있다. - 위의 작업들은 코드를 복사하여 진행할 수도 있지만, 상속을 통해서 간결하게 처리할 수 있다. - Extends를 사용하여 상속을 받는다. ● 상속 선언 - extends 키워드로 선언한다. - 부모 클래스는 슈퍼 클래스(super class)라고도 불린다. - 자식 클래스는 서브 클래스(sub class)라고도 불린다. class SuperClass { publi..
[JAVA] 생성자(Constructor) ● 생성자 : 객체가 만들어질때 멤버변수의 초기화를 위하여 호출되는 함수이다. ※ 특징 - 클래스의 이름과 동일한 이름의 메소드로 구성한다. - 함수의 반환값(return value)이 없다. - 일반적으로 객체를 초기화하는 목적으로 사용된다. ※ 사용 예시 class 클래스 이름 { 클래스 이름 () { 생성자 함수의 내용; } } public class Test { public Test() { System.out.println("생성자 호출"); } public static void main(String[] args) { Test con = new Test(); } } 리턴값 없이 public 접근제한자를 적어주고, 클래스명과 동일하게 적어줘서 생성자를 선언해줍니다. 그안에 메시지 출력으로 "생성자 ..
[JAVA] package ( 패키지 ) 개념과 생성방법 ● Package란? : 자바 클래스들을 여러 이름공간으로 정리한 것이며, 동일한 패키지 내의 클래스들은 서로의 멤버들에 접근할 수 있습니다. 예 ) 아마도 폴더를 이용해서 파일들을 정리해보셨을겁니다. 이런 파일들을 뒤죽박죽 섞여있을때 성격에 맞게 분류한다음 새폴더에 저장시키는 방식입니다. 자바의 패키지(package)도 이런방식과 동일한 개념으로, 비슷한 성격의 자바클래스들을 모아 넣는 자바의 디렉토리입니다. 우선, 패키지를 만들어주기위해 이클립스에서 src디렉토리에 마우스 우클릭을 해줍니다. New -> Package 를 클릭해줍니다. 위와같은 창이뜨면 package명을 입력해줘야하는데 저는 testPackage라고 입력하고 Finish를 눌러줍니다. 다음으로, testPackage2를 처음과 동일한..
[JAVA] Sleep클래스 , Process클래스 ● Sleep 클래스 public class Test05_Sleep { public static void main(String[] args) { for(int i=0;i