오늘은 Thread에 대해서 주로 공부할 것이다. 목차 1. Thread 2. Runnable 3. 익명클래스 4. 동기화 5. 스레드의 기능들 1. Thread Thread - 작성된 코드를 실행하는 객체 - 동시에 여러 작업을 하고 싶을 때 쓰는 문법 기본적으로 우리는 프로그래밍의 실행이 한 줄식 차례대로 되는 것으로 배웠다. 그렇다면 만약 파일을 다운로드하면서 음악 재생을 하고 싶을 땐 어떻게 해야 할까? 바로 오늘 배울 Thread를 이용해야 한다. 스레드는 작성된 코드를 실행하는 객체로 동시에 여러 작업을 처리할 수 있다. 이를 왜 쓰냐면 어떤 프로그램을 다운로드하는 것과 동시에 음악을 듣는 상황이라고 가정해 보자. 근데 동시에 처리를 하지 않는다면 다운로드가 다 끝날 때까지 유저는 음악을 들을..
목차 1. Generic 2. Collection AP 1. List 2. Set 3. Map 1. Generic Generic : 멤버의 자료형을 객체 생성할 때 정하는 문법 Generic은 명칭이 정해지지 않은 상품이다. 즉 객체를 생성(new)할 때, 자료형을 입력하는 형태이다. 원래 클래스에 멤버변수를 선언할땐 자료형을 말해줘야 한다. 하지만 위의 사진처럼 작성한 경우 객체를 생성할 때 자료형을 결정할 수 있다. 메인함수로 돌아와서 을 사용해서 자료형을 결정하고 객체를 만들 수 있다. 자료형에는 Random과 같은 객체도 넣을 수 있다.(신기..) 제네릭 문법을 사용할 때 int와 같은 기본 자료형은 사용할 수 없다. 하지만 Wrapper class를 사용하면 기본형 자료형을 이용할 수 있다. 위..
오늘은 오브젝트 클래스와 예외에 대해서 공부할 것이다. 오브젝트 클래스는 쉽게 이해가 가능하지만 Exception은 좀 어려울 수도 있다. 하지만 앞으로 많이 쓰일 개념이라 어떤 것인지만 알고 넘어가도 된다. 목차 1. Object class 1. toString() 2. equals(Object obj) 3. getClass() 4. hashCode() 5. wait(), notify(), notifyAll() : 이건 Thread 수업에서 소개. 6. Object class를 사용하는 대표적인 예 2. Getter & Setter 3. Exception 1. 0으로 나눗셈하는 경우 2. 배열의 인덱스 번호 사용 오류 3. Null값을 참조변수로 쓸 때 4. 잘못된 데이터 입력 5. 숫자로 바꿀 수 없..
오늘은 객체 지향의 마지막인 다형성에 대해 공부를 해볼 것이다. 다향성을 기준으로 추상클래스, 추상메소드를 배우고 인터페이스까지 알아볼 것이다. 목차 1. 다향성이란?? 1. 업캐스팅(Up casting) 2. 다운캐스팅(Down casting) 3. 배열에 사용해보기 2. 추상(abstract) 1. 추상 클래스 2. 추상 메소드 3. 인터페이스(interface) 1. 다향성이란?? 다형성(polymorphism)이란 부모-자식 상속 관계에 있는 클래스에서 상위 클래스가 동일한 메시지로 하위 클래스들을 서로 다르게 동작시키는 객체 지향 원리이다. 사실 이렇게 정의만 보고 이해하기가 쉽지 않다. 다향성은 객체나 인터페이스 등 철학적인 느낌을 자아내는 용어이기 때문에 실제로 해보면서 이해하는 게 좋다. ..
오늘은 상속을 주로 공부할 것이다. 목차 1. 상속 2. 상속의 특징 1. 생성자 메소드를 사용하면 자동으로 부모객체를 생성하면서 생성자 메소드가 호출된다. 2. 접근제한자가 적용이 된다. 3. super(); 4. 상속은 여러 번 가능하다. (그러나 여러 클래스를 동시에 하나의 클래스로 상속은 불가) 3. 오버라이드(Override) 1. 기존기능을 완전히 바꾸는 형태 2. 기존 기능을 유지하며 조금만 바꾸는 형태 4. 대학교 정보 제공 프로그램 예제 5.Final 1. 상속 상속이란 흔히 다른 사람이 사망한 사람으로부터 그 권리와 의무의 일체를 이어받는 일을 말한다. 비슷하게 프로그래밍에서 상속은 어떤 클래스가 가지고 있는 메소드와 변수를 다른 클래스가 갖도록 하는 것이다. 이로써 코드의 재사용성을 ..
오늘은 생성자에 대해 공부할 예정이다. 목차 1. 생성자? 2. 사용 이유 3. this() 4. 멤버변수 초기화 4단계 5. Static 6. Inner Class 7. Local Class 사용자 정보를 데이터로 갖는 Person 클래스를 만든다고 생각해 보자. 그럼 당연히 main 함수에는 참조변수를 이용해서 사용해야 한다. 그리고 Person 객체는 클래스가 없으면 만들지 못하는 사용자 정의 객체다. 따라서 위의 사진처럼 클래스를 만들어줘야 한다. 이때 주의할 점이 있다. 멤버변수는 private으로 하는 것이 기본이고 멤버함수는 public으로 하는 것을 권장한다. 멤버변수를 private으로 멤버함수를 public으로 하면 우리는 이제 main 함수에서 멤버변수를 건드릴 수 없다. 그럼 어떻게..