JAVA/자바의 신

💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 객체지향 개발과 관련된 용어들 클래스 상태와 행위를 가지는 자바의 정적인 기본 단위이다. 객체를 생성하기 위한 레시피이다. 상태와 행위 상태란 클래스 혹은 인스턴스 변수이다. 행위는 메서드이다. 캡슐화 캡슐화는 상태와 행위를 하나의 클래스로 묶는 것이다. 캡슐화를 통해 외부로 공개하지 않아도 되는 상태 혹은 행위에 접근을 막을 수 있다. 메시지 메서드에서 다른 메서드를 호출하는 상호작용을 의미한다. 값을 전달할수도 하지 않을 수도 있다. 객체 객체란 클래스를 기반으로 생성되어 힙에 할당된 인스턴스이다. 상속 상속이란 다른 클래스의 자원을 물려받아 사용할 수 있다는 개념이다. 클래스를 확장하는..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 어노테이션 어노테이션이란 메타데이터라고 물리기도 하며, @(at) 문자를 통해 표현할 수 있다. 어노테이션은 코드에 부가적인 정보를 제공하는 데 사용되는 표현 방법이다. 어노테이션은 소스코드에 주석 형태로 추가되어 컴파일러, 런타임 환경 또는 다른 프로세스에게 특별한 정보를 전달한다. 대표적인 어노테이션은 다음과 같다. @Override: 해당 어노테이션이 선언되어 있는 메서드는 오버라이드됨을 컴파일러에게 알려줌 @Deprecated: 해당 메서드는 더 이상 사용되지 않는다는 것을 컴파일러에게 알려줌 + 경고 @Supress Warnings: 경고를 무시한다고 컴파일러에게 알려줌. (사용 시..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 Nested class 자바에서 클래스 안에 클래스가 들어갈 수도 있다. 이를 Nested class라 말한다. 클래스 안에 클래스를 선언하는 이유는 특정 클래스가 해당 클래스에서만 쓰이는 경우, 내부에서 간단하게 구현되어 사용되는 경우, 특정 클래스에 종속되는 개념인 경우 등이 있는데, top-level class로 선언되어서 얻는 이점이 없기 때문에 nested class로 선언한다. 한 곳에서만 사용되는 클래스를 논리적으로 묶어서 처리할 필요가 있는 경우 특정 클래스의 private 자원을 특정 클래스에서 접근하고 싶은 경우 (캡슐화를 위해) 가독성을 위해 Nested class는 크게..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 String String은 개발하면서 아주 빈번하게 사용되는 객체 중 하나이다. public final class String extends Object implements Serializable, Comparable, CharSequence, Constable, ConstantDesc // after java 12 Object 클래스를 확장하며, Serializable, Comparable, CharSequence 인터페이스를 구현한다. String 클래스는 final 으로 선언되어 있어 상속받아 확장하는 것이 불가능하다. String은 보통 아래와 같이 선언한다. String a = "a..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 interface interface는 구현할 기능의 명세를 추상화 시켜놓은 타입? 이라고 생각한다. 클래스의 다중 상속이 불가능한 한계를 해결하여 다중 상속이 가능하다. 개발의 일반적인 프로세스는 다음과 같다. 분석 → 설계 → 개발 및 테스트 → 시스템 릴리즈 요구사항을 분석한다. → 분석 단계에서 도출된 문서를 통해 프로그램을 설계한다. 해당 단계에서 interface 혹은 abstract class를 정의하면 개발 및 테스트 단계에서 개발 속도를 향상시킬 수 잇다고 한다. 나는 아직 사용해보질 않아서 잘 모르겠다. interface나 abstaract class를 사용하면 메서드 시그니..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 Object 자바에서 Object란 모든 클래스의 부모가 되는 클래스이다. java.lang 패키지에 선언되어 있다. 클래스 계층 구조의 root에 해당한다. 모든 클래스는 Object가 될 수 있다. Object 클래스에는 객체의 기본적인 행동을 정의해놓았다. Object에 존재하는 메서드는 객체를 처리하기 위한 메서드와 스레드를 위한 메서드로 나눌 수 있다. protected Object clone(): 객체의 복사본을 만든다. public boolean equals(Object obj): 매개변수와 this가 논리적으로 동등한지 판단한다. protected void finalize():..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 JDK에는 엄청나게 많은 클래스와 메서드가 포함되어 있다. 우리는 API 문서를 통해 클래스와 메서드의 명세를 확인할 수 있다. Overview (Java SE 11 & JDK 11 ) This document is divided into two sections: Java SE The Java Platform, Standard Edition (Java SE) APIs define the core Java platform for general-purpose computing. These APIs are in modules whose names start with java. JDK The Jav..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 상속 자바에서는 다른 클래스에서 미리 만들어둔 기능을 특정 클래스에서 사용하거나, 특정 형식에 맞춰 클래스를 장석할 때, 상속이라는 개념을 사용한다. 상속은 super class의 자원을 물려받아 사용할 수 있게 해주는 기술이다. extends 키워드를 통해 class, abstract class를 확장할 수 있으며, implements 키워드를 통해 interface를 구현할 수 있다. extends를 통해 super클래스를 확장한 sub클래스의 생성자는 내부적으로 super클래스의 생성자를 호출하게 되어있다. 따라서 sub클래스가 heap에 올라가기 전 super클래스부터 올라가기 때문에..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 package package는 그저 폴더의 개념이 아니다. 자바에서 동일한 패키지 내, 이름이 중복되는 클래스는 존재할 수 없다. 클래스를 잘 분류하지 않으면 이름이 중복되는 경우, 어떤 클래스가 어떤 일을 수행하는지 혼동되는 일이 발생한다. 따라서 클래스를 잘 분류하여 각 클래스의 목적을 확실히 하고, 접근을 제어하기 위해 존재하는 것이 패키지 이다. 클래스 소스코드 가장 첫 줄에 package 예약어를 사용하여 패키지를 명시해야 한다. package선언 윗 줄에 주석이나 공백은 있어도 된다. 컴파일 시점에서 삭제되기 때문 패키지 선언은 소스 하나당 하나씩만 존재해야 한다. 패키지 이름과 ..
hyunsb
'JAVA/자바의 신' 카테고리의 글 목록 (2 Page)