분류 전체보기
[Java] Static과 관련해서 더 자세히 알아보자
[Java] Static과 관련해서 더 자세히 알아보자
2019.12.10지난번에 접근한정자 파트에서 Static과 관련한 내용을 다룬적이 있었다. - 다시한번 정리하자면1) 클래스 내에 static 변수(메서드)를 사용하면 클래스 변수(메서드)라 하고 클래스를 통해 생성되는 모든 객체들이 이 변수값을 공유한다.2) 모든 객체들이 공유하는 만큼 객체이름을 통해 해당 static 변수(메서드)에 접근가능하지만 클래스 이름을 통해서 접근할 것을 권장한다.3) static 초기화는 단 한번만 작동하며, static 블럭 안에는 static 변수(메서드)만 가능하며 객체가 생성되기도 전에 가장 먼저 실행된다. 혹시 이해가 안가는 부분이 있으면 [Java] Access Modifier - 접근한정자에 대한 공부를 참고하면 좋을 것 같다. 이번 시간에는 Static에 대해 좀 더 자세히..
[Java] IO 입출력(Stream)에 대한 공부
[Java] IO 입출력(Stream)에 대한 공부
2019.12.05Java에서 중요한 부분중에 하나인 IO 입출력 관련해서 공부한 내용을 정리해보고자 한다. 자바에서 입력, 출력으로 나눠서 설명하자면 ≫ 입력 : 파일, 키보드, 네트워크 (소스 / Source라고도 한다.) ≫ 출력 : 파일, 모니터, 네트워크 (목적지 / Destination이라고도 한다.) 이렇게 나눌 수 있다. 각각에 대해 입출력을 작동시키기 위해 알맞는 Stream을 사용해 수행해야 한다. Stream은 자바 애플리케이션이 입력과 출력을 수행하도록 도와준다. 소스에서 자바 애플리케이션으로 데이터를 읽어 들이는 것을 InputStream이라고 하고, 자바 애플리케이션에서 목적지로 데이터를 출력시키는 작업을 OutputStream이라고 한다. 이것들이 어떤 용도로 어떻게 쓰이는지 알아보자. 여러가지..
[Java] Thread에 대한 공부
[Java] Thread에 대한 공부
2019.12.05이번에는 Thread에 관한 내용을 중요한 포인트만을 가지고 정리해보고자 한다. 1. 개념정리 개인적으로 본인에게 와닿는 개념으로 정리해보았다. - Process: 운영체제로부터 시스템 자원을 할당받는 작업의 단위, 실행 중인 프로그램 - Thread: 프로세스가 할당받은 자원을 이용하는 실행의 한 단위, 프로세스 내에서 실제로 작업을 수행하는 주체 2. Thread Life Cycle - start(): 실행시 새로 생성된 Thread 객체가 Runnable로 이동해 실행 가능한 후보군이 되어 실제 실행을 대기한다. - Scheduler: 스케쥴러가 각 스레드가 Running으로 이동시키거나 다시 Runnable로 이동시키면서 여러 스레드를 관리해준다. 일정한 규칙없이 여러 쓰레드들을 실행시켜준다. -..
[Coding] 달력 출력하기 (Java)
[Coding] 달력 출력하기 (Java)
2019.12.02📌 1. Problem 사용자에게 날짜를 입력받아 달력 혹은 해당 날짜를 출력 연, 월, 일 전부다 입력 받을 시 "YYYY년 MM월 DD일 입니다." 라는 문구 출력 연, 월 까지만 입력 시 해당 연도 월 달력을 출력 연도만 입력 시 해당연도 전체 달력을 출력 🔖 1-1. Problem Solving 여기서 중요한 것은 월 달력을 출력할 때 해당 월 1일이 무슨 요일인지와 거기에 따라 토요일을 기준으로 어떻게 개행("\n")처리를 해야할 것인가이다. 여기에 초점을 맞춰 코드를 짜봤다. 1-1-1. 월 1일은 무슨 요일? 1년 1월 1일이 월요일이라는 것을 이용한다. 입력한 연도 전년도까지 모든 일수를 구하고 입력한 연도의 월, 일까지의 일수를 더해주면 1년 1월 1일부터 입력한 날짜까지의 총 일수가 나..
[Java] equals & hashCode - 두 method에 대한 공부
[Java] equals & hashCode - 두 method에 대한 공부
2019.12.02String 클래스를 사용하다 보면 equals를 통해 문자열이 일치하는지 비교하는 것을 본 적이 많을 것이다. 예를 들어 "BeanieJoy"와 "JoyBeanie" 두 개의 문자열이 일치하는지 아닌지를 비교하려고 한다면 → "BeanieJoy".equals("JoyBeanie") 를 통해 true인지 false인지를 알아볼 것이다. 하지만 Car라는 임의의 클래스를 만들어서 그 안에 정보들을 넣고 그 정보가 다른 객체와 같은지 아닌지를 알아보기 위해 equals를 사용한다면 완전히 다른 결과가 나올 것이다. 예를 들어보자. ≫ Overriding 하지 않은 상황 1 2 3 4 5 6 7 8 9 10 11 12 public class EqualsDemo { public static void main(S..
[Java] Access Modifier - 접근한정자에 대한 공부
[Java] Access Modifier - 접근한정자에 대한 공부
2019.12.02Java에서 OOP개념에 들어가면 public, private, ... 등을 많이 볼 수 있다. 이들은 접근한정자(Access Modifier)라고 부른다. 정확한 정의는 아니지만 본인이 생각하기에 말 그대로 객체를 생성할 때나 클래스 자체를 사용하고 싶을 때 해당 클래스 내부의 정보들을 이용하는데 있어 제한할 수 있는 기능을 가지고 있다. 이번 시간에는 이런 접근한정자(한정자도 포함해서)들에 대해서 공부한 내용을 정리해보고자 한다. Notice.java / package java_20191122.aa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package java_20191122.aa; // p..