본문 바로가기

전체 글31

상속1 (클래스 상속, 메서드 재정의) 1. 클래스 상속2. 메서드 재정의   객체 지향 프로그래밍의 중요한 특징 중 하나는 재사용성입니다. 이 재사용성을 가장 잘 나타내고 있는 부분이 바로 상속인데요, 상속은 부모로부터 클래스의 변수나 메서드를 물려받는 것으로, 클래스를 만들 때 처음부터 모든 것을 새로 만드는 것이 아니라, 부모로부터 물려 받고 추가 되는 것만 새로 만들면 되는 것입니다. 프로그램 관점으로 볼 때도 역시 프로그램을 전부 개발하는게 아니라 추가되는 것만 개발하면 되니, 개발 시간도 단축되고, 이미 사용중인 프로그램을 재사용하게 되니 안정성도 높아지게 됩니다. 1. 클래스 상속이미 만들어져 있는 클래스로 상속을 해주는 클래스를 부모 클래스, 또는 상위 클래스라고 부릅니다. 반대로 부모 클래스로부터 기존 변수나 메서드들을 그대로.. 2024. 8. 27.
클래스6 (접근 제한자, 싱글톤, final) 1. 접근 제한자2. 싱글톤3. final   1. 접근 제한자접근 제한자(access modifier), 말 그대로 접근 제한하는 용도로 사용됩니다. 자바 어플리케이션은 main() 메서드가 없는, 직접 실행하는 클래스가 아닌, 다른 곳에서 사용되는 클래스로 만들어지는 경우가 많은데, 이런 클래스는 라이브러리 형태로 사용되는 것입니다. 클래스를 설계할 때 다른 아무 곳에서나 접근해서 사용할 수 있게 하거나 지정한 곳에서만 접근해서 사용 가능할 수 있도록 설계할 수 있습니다. 접근 제한자의 종류는 public protected, (default), private 네가지 종류가 있습니다. 여기서 default는 실제 default 라는 키워드가 아니라 키워드가 없는 것을 말합니다.  이 그림에서 보듯이 p.. 2024. 8. 26.
클래스5 (this, 초기화 블록, 패키지) 1. this2. 초기화 블록3. 패키지  1. thisthis 생성자같은 클래스의 메서드를 실행할 수 있는것처럼 생성자간에도 서로 실행이 가능합니다. 이때 생성자명 대신 this라는 키워드를 사용합니다. 주의할 점은 다른 생성자를 실행할 때는 반드시 생성자 중괄호 블록의 첫줄에 작성해야 합니다. this 키워드가 사용되는 또 하나는 참조변수로서의 객체 자기자신을 가리킵니다. 객체 외부에서 객체 내부의 멤버에 접근하기 위해 객체변수(참조변수)를 사용하듯이 객체 내부에서도 객체의 멤버에 접근하기 위해 this 키워드를 사용합니다.  그냥 편하게 this는 “객체 자신”이라고 생각하면 됩니다. public class Car2 { // 필드 String color; String company; String t.. 2024. 8. 25.
클래스4 (생성자) 1. 기본 생성자2. 필드 초기화3. 생성자 오버로딩  생성자(Constructor)는 new 연산자와 함께 객체를 생성할 때 사용합니다. 지금까지 우리는 생성자를 알지 못했지만, 클래스를 이용해 객체를 생성할 때 항상 생성자를 사용해 왔습니다. 생성자는 메서드와 비슷하게 생겼지만, 클래스 이름과 생성자 이름이 동일해야 하고, 리턴값이 없습니다. 리턴 타입도 아예 적어주지 않습니다. 생성자는 객체가 생성될 때 가장 먼저 실행되므로, 객체 내의 필드(변수)를 초기화하거나, 객체를 사용하기 전에 준비하는 실행문을 생성자 블록 안에 넣는 경우가 많습니다. 즉 생성자의 용도는 객체의 초기화 목적입니다.생성자의 구조를 살펴볼까요. 클래스명 (매개변수...) {    초기화 실행문    ...} 메서드의 구조와 비.. 2024. 8. 25.