Study/JAVA 12

[JAVA] 12장 - 추상 클래스와 인터페이스

1. 추상 클래스 1.1 추상 클래스의 정의 추상 메서드는 '메서드의 본체가 완성되지 않은 미완성 메서드'를 말한다. 미완성 메서드라고도 부른다. 메서드의 기능을 정의하는 중괄호 안이 비어 있다는 것이 아니라 중괄호 자체가 없으며, 중괄호가 없기 때문에 명령어 끝을 알리는 세미콜론으로 끝나야 한다. abstract 리턴 타입 메서드명(입력매개변수); 추상 메서드 표현 방법 추상 메서드를 1개 이상 포함하고 있는 클래스는 반드시 추상 클래소르 정의돼야 한다. 즉, 일반적으로 추상 클래스는 메서드의 기능이 정의돼 있지 않은 미완성 메서드(중괄호가 없는 메서드)가 1개 이상 있다는 의미다. 추상 클래스의 형식은 추상 메서드 구문과 비슷하게 class 키워드 앞에 abstract를 붙여 표현한다. abstrac..

Study/JAVA 2022.10.06

[JAVA] 11장 - 자바 제어자 2

이 스터디는 책 [Do it! 자바 완전 정복]을 공부하고 있습니다. 책 한 권을 꾸준하게 노력해서 끝내는 것을 목표로 매일매일 공부한 내용을 요약 중입니다... 왜인지 조회수가 조금씩 생기고 있는데, 만약 자바 공부를 하고 싶다면 제 글보단 책 자체를 사서 읽는 걸 추천 드립니다. 노파심에 글 업로드 전에 덧붙입니다... 1. final 제어자 final 제어자는 필드, 지역 변수, 메서드, 클래스 앞에 위치할 수 있으며, 어디에 위치하느냐에 따라 의미가 다르다. 1.1 final 변수 final 제어자는 변수를 선언할 때만 지정할 수 있으며, final 변수는 한 번 대입된 값을 수정할 수 없다. 즉, 한 번 대입된 값이 최종(final) 값이 되는 것이다. 1.1.1 주의할 점 선언과 값의 대입을 ..

Study/JAVA 2022.10.05

[JAVA] 10장 - 클래스의 상속과 다형성 (2)

1. 메서드 오버라이딩 1.1 메서드 오버라이딩의 개념과 동작 1.1.1 개념 메서드 오버라이딩은 부모 클래스에게 상속받은 메서드와 동일한 이름의 메서드를 재정의하는 것으로, 부모의 메서드를 자신이 만든 메서드로 덮어쓰는 개념이다. 1.1.2 조건 부모 클래스의 메서드와 시그너처 및 리턴 타입이 동일해야 한다. 부모 클래스의 메서드보다 접근 지정자의 범위가 같거나 넓어야 한다. 1.1.3 덮어쓰기와의 관계 덮어쓰기는 이전 파일이 완전히 삭제되고, 새로운 파일로 바뀌는 것. 오버라이딩은 이전의 메서드 위에 새로운 메서드가 올라(over) 타고(riding) 있는 것. 오버라이딩은 원할 때 밑에 깔려 있는 이전 객체의 메서드도 호출할 수 있다. 1.1.4 동일한 필드나 메서드가 있을 경우 객체 내에 동일한 ..

Study/JAVA 2022.10.04

[JAVA] 10장 - 클래스의 상속과 다형성 (1)

1. 클래스의 상속 1.1 상속의 개념 부모 클래스의 멤버(필드, 메서드, 이너 클래스)를 내려받아 자식 클래스 내부에 포함시키는 자바의 문법 요소다. 1.2 상속의 장점 코드의 중복성이 제거된다. 객체를 여러 가지 모양으로 표현할 수 있는 특성을 다형성이라 하는데, 상속을 통해 클래스의 다형적 표현이 가능하다. 1.3 상속 문법 클래스를 상속할 때는 extends 키워드를 사용하며, 클래스 명 다음에 'extends 부모 클래스'를 표기한다. class 자식 클래스 extends 부모 클래스 { ... } 1.3.1 특징 자바의 클래스는 다중 상속이 불가하다. 다중 상속을 허용하면 모호성이 발생하기 때문이다. 1.3.2 예제 package study_001; class Human { String nam..

Study/JAVA 2022.10.03

[JAVA] 9장 - 자바 제어자 1

이 챕터에서는 접근 지정자와 static에 대해 공부한다. 개념이 조금 어렵거나 이해되지 않으면, 유튜브 강의를 활용할 생각이다. 1. 접근 지정자 1.1 개념 자바 제어자는 클래스, 필드, 메서드, 생성자 등에게 어떠한 특징을 부여하는 문법 요소다. 접근 지정자는 자바 제어자의 한 종류로, 클래스, 멤버, 생성자 앞에 위치할 수 있고, 사용 범위를 정의하는 역할을 한다. 1.2 멤버 및 생성자의 접근 지정자 1.2.1 멤버 및 생성자의 종류 public protected default (또는 package) private 1.2.2 사용 범위 public > protected > default > private 1.2.3 각각의 특징 private : 자신의 클래스 내부에서만 사용할 수 있는 접근 지정..

Study/JAVA 2022.10.02