본문 바로가기

JAVA79

[JAVA] Objects Class (1) Objects Class public final class Objects extends Object Object (Java Platform SE 8 ) Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. A subclass overrides the finalize method to dispose of system resources or to perform other cleanup. The general contract of fi docs.oracle.com Java.util 패키지에 존재하는 Object의 유틸리티 클래스입니다... 2020. 4. 15.
[JAVA] Object Class (3) toString() 객체의 문자정보를 리턴하는 메서드입니다. 객체의 문자 정보란 객체를 문자열로 표현한 값을 말합니다. Object클래스의 toString()는 패키 지명. 클래스명@해시 코드로 구성된 문자 정보를 리턴합니다 toString()는 자동 호출될 때가 있는데 System.out.println() 안에 매개변수로 객체를 넣었을 때 자동적으로 객체의 toString()을 호출합니다. 이걸 이용해 객체의 Class에서 toString()을 오버라이드 해서 의미 있는 값이 출력되도록 변경할 수 있습니다. Program의 클래스에서 toString()를 재정의해서 의미있는 값을 출력해 보겠습니다. package blog; import java.util.Date; public class Program .. 2020. 4. 9.
[Java] Object Class (2) 2. 해시 코드 hashCode() hashCode()는 객체의 해시 코드를 리턴하는데 객체의 해시 코드란 객체를 식별할 하나의 정수 값을 의미합니다 객체를 식별한다는 것은 해시 코드의 값이 동일한지 아닌지를 식별한다는 것입니다. hashCode()는 객체의 메모리 번지를 이용해서 hashCode를 만들어 리턴 값으로 넘겨줍니다. 모든 객체는 개별 hashCode가 존재하며 전부 다른 hashCode를 가지고 있습니다. 1.equals에서 동등에 대해 비교를 할 때 우리는 객체의 데이터만을 비교해 동등하다고 했습니다. 우리가 hashSet , hashTable, hashMap과 같은 컬렉션 라이브러리를 사용할 때에 두 객체가 동등한 객체인지 판단하는 경우가 존재합니다. 위 메서드는 객체를 비교할 때 먼저.. 2020. 4. 8.
[JAVA] Object Class Class Object java.lang.Object public class Object Class Object is the root of the class hierarchy. Every class has Object as a superclass. All objects, including arrays, implement the methods of this class. -java API- Object 클래스는 클래스의 최상위 계층입니다. 모든 클래스는 상위 클래스로써 Object클래스를 상속받고. 배열을 포함한 모든 객체는 Object클래스의 메서드를 구현합니다. 모든 클래스는 다른 클래스를 상속받지 않는다면 암시적으로 java.lang.Object클래스를 상속합니다. Object의 클래스의 메서드는 모든.. 2020. 4. 8.
[JAVA] Java.lang 패키지 Java.lang 패키지는 자바 프로그램의 기본적인 클래스를 담고 있는 패키지입니다. 너무나도 자주 사용하기 때문에 포함된 클래스와 인터페이스는 Import 하지 않고 사용할 수 있습니다. 사용되는 주요 클래스입니다. 주요클래스 설명 System 표준 입력장치인 키보드와 표준 출력장치인 모니터에 입력/출력하기 위해서 사용되며 콘솔창에서 입력/출력이 이루어진다. Class 클래스를 메모리로 로딩할 때 사용한다. Object 자바 클래스의 최상위 클래스 이며 자바의 모든 클래스는 Object클래스를 상속받고 있습니다. 따라서 모든 자바 클래스는 object클래스의 메서드를 사용할 수 있습니다. String 문자열과 관련된 작업을 할때 사용할 수 있는 다양한 메소드가 포함되어 있으며 문자열을 저장할때도 사용됩.. 2020. 4. 8.
[JAVA] Anonymous Class . Anonymous Class 익명 클래스에 대해서 알아보자 부모님이 아들과 딸을 위해 밥을 만들어 준다고 예시를 들어 보겠습니다. 부모님이 요리한 요리를 먹기 위해 아들과 딸은 부모 클래스인 Parents를 상속을 받아야 합니다. 상속을 받기위해 우리는 아들과 딸이라는 이름에 클래스를 만들어서 각각 상속을 extends Parents라는 코드로 작성을 해줍니다. public class Parents { public void eat() { System.out.println("밥을 먹습니다"); } } public class Daughter extends Parents{ @Override public void eat() { System.out.println("딸이 밥을 먹습니다"); } } public .. 2020. 4. 8.
[JAVA] 유효범위 유효 범위 우리는 변수와 인스턴스 메서드 등을 사용하기 위해 각각 이름을 붙여줘서 사용하게 된다. 프로그램이 거대해진다면 여러 가지 이유로 이름들이 충돌해서 예기치 못한 오류가 발생할 수 있습니다. 이를 해결하기 위해 유효 범위라는 기능이 있습니다. 유효 범위 전역 변수와 지역변수 전역 변수는 클래스 전역에서 참조하거나 사용할 수 있는 변수입니다. package blog; public class Example { static int i = 10; // 클래스의 전역변수 i public static void main(String[] args) { Example ex = new Example(); System.out.printf("%d Class에 존재하는 i입니다 \n", i ); ex.a(); for (.. 2020. 4. 2.
[JAVA] SOLID 객체지향설계 로버트 C. 마틴 그는 객체지향 설계에 다섯 가지 기본원칙을 명명했는데 마이클 페더스가 기억술로 소개한 것이다. 프로그래머가 시간이 지나도 유지보수와 확장이 쉬운 시스템을 만들고자할 때 이원칙들을 함께 적용할 수 있다. 어떠한 기본원칙이 있을까? 1. SRP (Single responsibility principle) 단일 책임의 원칙 로버트 C.마틴은 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이여야한다. 한 클래스는 하나의 책임만을 가져야한다는 이야기이다. 책임은 무엇을뜻할까? 클래스가 만들어질때 하나의 목표를 가져야한다는 소리가 아닐까싶다. 하나의 클래스에 여러가지 기능과 여려가지 멤버를 가지게하지말고 클래스가 맡은 책임에대한 메소드와 멤버만을 가지도록 하여 관련된 책임에대한 것만 맡도록 하는 .. 2020. 3. 25.
[JAVA]codeUp 기초100제 자바 1031~1040번 1031 : [기초-출력변환] 10진 정수 1개 입력받아 8진수로 출력하기 10진수를 입력받아 8진수(octal)로 출력해보자. 참고 %d(10진수 형태)로 입력받고, %o를 사용해 출력하면 8진수(octal)로 출력된다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); System.out.printf("%o",a); } } 2020. 3. 25.
[JAVA] Java Thread 1. 프로세스(PROCESS) 프로세스란 우리가 프로그래밍 언어로 절차를 작성해서 그 프로그램을 실행시켜서 동작하게 만들면 이것을 프로세스라고 합니다. 보통 프로세스는 하나의 프로그램 처리 경로를 가지고 있습니다. 이 경로는 직렬적인데 어떠한 일을 수행하는 것에 있어 프로그래머가 원하는 순서대로 작동을 합니다. 그러나 비동기 실행 병렬적으로 실행을 하고 싶을 때 자바에서 사용할 수 있는 것이 스레드 Thread입니다. 자바 스레드를 이용하면 여러 개의 처리 루틴을 가질 수 있습니다. 단순 반복의 코드를 실행할 때도 여러 개의 스레드를 만들어 분리시킨 뒤 결과를 받아 데이터를 합치게 되면 시간을 절약할 수 있습니다. 자바 쓰레드를 만들어서 구동하는 대표적인 방법은 Thread 클래스를 상속받는 것입니다. .. 2020. 3. 12.