목록JAVA (25)
경주장
✔️ 학습할 것 (필수) 자바 상속의 특징 메소드 오버라이딩 final 키워드 super 키워드 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 Object 클래스 이번 주제는 오라클 자바 도큐먼트를 참고하여 정리하였습니다. Def) Abstract class An abstract class is a class that is declared 'abstract' -- it may or may not include abstract methods. Abstract classes cannot be instantiated, but they can be subclassed. Def) Abstract method An abstract method is a method that is..
학습할 것 (필수) 자바 상속의 특징 메소드 오버라이딩 final 키워드 super 키워드 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 Object 클래스 메소드 디스패치 Def) Method Dispatch is the mechanism that helps to decide which operation should be executed, or more specifically, which method implementation should be used. 아래의 예제는 토비의 봄 TV 1화를 보고 정리한 내용입니다. Static Dispatch /** * Static Dispatch */ public class DispatchV1 { static class Serv..
학습할 것 (필수) 자바 상속의 특징 메소드 오버라이딩 final 키워드 super 키워드 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 Object 클래스 final 키워드는 세가지 위치에서 활용됩니다. 클래스 선언부 필드 메소드 이때 필드에 선언되는 final 키워드는 불변을 의미합니다. instance 필드의 경우 생성시 값이 채워지고 이후의 불변을 보장하며 필드 초기화 or 생성자 초기화 필수 static(클래스) 필드의 경우 final 키워드와 함께 사용되면 상수 (constant)의 의미로 사용됩니다. 필드 초기화 필수 생성자를 통해 초기화되는 final Instance 필드를 포함한 클래스를 상속한 subclass의 경우 자신의 생성자의 첫번째 라인에 s..
✔️ 학습할 것 (필수) 자바 상속의 특징 메소드 오버라이딩 final 키워드 super 키워드 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 Object 클래스 메소드 오버라이딩의 경우 Instance 메소드와 static 메소드두가지 종류가 있습니다. Instance 메소드 An instance method in subclass with the same signature and return type as an instance method in the superclass overrides the superclass's method Subclass의 메소드 오버라이딩은 superclass의 메소드와 "충분히 비슷한" 메소드를 쉽게 작성 할 수 있게해줍니다. overr..
목표 자바의 상속에 대해 학습하세요. ✔️ 학습할 것 (필수) 자바 상속의 특징 메소드 오버라이딩 super 키워드 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 다른 학습자분의 포스팅을 보니 Oracle 공식문서를 참고하는 분이 계셔서 저도 한번 따라해 보겠습니다 ㅎ.ㅎ 자바 상속의 특징 Def - subclass, superclass A class that is derived from another class is called a subclass The class from which the subclass is derived is called a superclass 특징 1 - Single Inheritance(단일 상속) E..
분량이 긴 것같아 글을 분리하여 작성하겠습니다. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 생성자(Constructor)는 new 연산자와 같이 사용되어 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당합니다. 객체 초기화란 필드를 초기화하거나, 메소드를 호출하여 객체를 사용할 준비를 하는 것을 의미합니다. new 연산자에 의해 생성자가 성공적으로 실행되면 힙(heap)영역에 객체가 생성되고 객체의 주소가 리턴됩니다. 리턴된 객체의 주소는 클래스 타입 변수에 저장되어 객체에 접근할 때 이용됩니다. 모든 클래스는 생성자가 반드시 존재하며 하나 이상을 가질 수 있습니다. 클래스 내부에 생..
학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 졸업과 이사, Programmers Backend 스터디 프로그램 등이 겹쳐 최근 live-study의 진행이 밀리고 있습니다. ㅠㅠ 기선님의 live-study는 이미 종료된 프로그램이지만 따로 진행하는 것인 만큼 혼자 진행 할 수 있다는 장점을 살려 느리지만 꼭 완수 할 수 있도록 하겠습니다. 클래스(class)란 객체지향의 추상화(abstraction)라는 개념을 직접 구현한 것이라 할 수 있습니다. 클래스는 필드(상태)와 메소드(행동)로 이루어지며 다음과 같이 선언합니다. 접근제어자 class 클래스이름 { 접근제어자 필드1의타입 필드1의이름; ..
학습할 것(필수) 선택문 반복문 제어문(controll statement, control flow) 자바 프로그램을 시작하면 존재하는 main( ) 메소드의 { 부터 } 까지 위에서 아래로 실행하는 흐름을 개발자가 원하는 방향으로 바꿀 수 있게 해주는 것 제어문(조건식){ 코드 블럭 } 제어문의 종류는 조건문(conditional)과 반복문(iteration)이 있다. 조건문(conditional) 1. if문 if(조건식){ //조건식이 true라면 실행 } 2. if-else문 if(조건식){ //조건식이 true라면 실행 }else{ //조건식이 false라면 실행 } 3. if-else-if-else문 if(조건식1){ //조건식1이 true라면 실행 }else if(조건식2){ //조건식2가 t..
java.util패키지는 유용한 클래스들을 많이 가지고 있는 패키지 날짜와 관련된 클래스인 Date, Calendar클래스 자료구조와 관련된 컬렉션 프레임워크와 관련된 인터페이스와 클래스 deprecated란 더이상 지원하지 않으니 사용하지 않는 것이 좋다란 의미다. Date클래스는 지역화를 지원하지 않는다. 지역화란 국가별로 현재 날짜와 시간은 다를 수 있는데, 그 부분을 지원하지 못한다. 이런 문제를 해결하기 위하여 나온 클래스가 Calendar클래스. Calendar클래스는 자바 1.1에 등장하였다. 지역화와 관련된 클래스들은 Locale로 시작되는 이름을 가진 클래스들입니다. 역시 1.1 이후에 등장한다. List, Set, Collection, Map은 자료구조 즉 컬렉션 프레임워크와 관련된 인..
자바는 기본적으로 다양한 패키지를 지원 그중에서 가장 중요한 패키지 java.lang패키지의 클래스는 import를 하지 않고도 사용할 수 있다. java.lang패키지에는 기본형타입을 객체로 변환시킬때 사용하는 Wrapper클래스가 있다. Boolean, Byte, Short, Integer, Long, Float, Double 클래스 모든 클래스의 최상위 클래스인 Object도 java.lang패키지 문자열과 관련된 String, StringBuffer, StringBuilder도 모두 java.lang패키지 화면에 값을 출력할때 사용했던 System클래스도 java.lang패키지 수학과 관련된 Math클래스도 java.lang패키지 Thread와 관련된 중요 클래스들이 java.lang패키지 이외에..