클래스 종류에 따른 사용 범위 스태틱 중첩 클래스와 내부 클래스가 접근 가능한 바깥 클래스 멤버 top level class 패키지에 소속된 클래스를 top level class(패키지 멤버 클래스)라고 부른다. top level class의 접근 제한자 public: 다른 패키지에서도 접근 가능 (p...
학원 #34일차: iterator 디자인 패턴, static nested class
오늘은 mini pms의 25 버전과 26-a 버전을 수행하였습니다. 25버전에서는 Iterator 디자인 패턴을 적용하고, 26-a 버전에서는 static nested class를 적용하였습니다. 객체 사용: 이전 버전 리뷰 객체가 다른 객체를 사용한다는 것은 다른 객체의 메서드를 호출하다는 뜻이다. 클래스 이름으로 static 메서드를 호출...
[Java] 백준 #2440, 2441, 2442, 2443: 별찍기 - 3, 4, 5, 6
2440번: 별찍기 - 3 문제 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, …, N번째 줄에는 별 1개를 찍는 문제 예제입력 5 예제출력 ***** **** *** ** * 풀이 package com.monica.baekjoon; import java.util.Scanner; public class No2440 { pu...
:book: 자바의 정석 #7.7: 인터페이스
인터페이스 인터페이스란? 일종의 추상클래스지만 보다 추상화 정도가 높아 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상메서드와 상수만을 멤버로 가질 수 있다. 인터페이스의 작성 인터페이스 멤버 제약사항 모든 멤버변수는 public static final이어야 하며, 이를 생략할 수 있다. 모든 메서드는 ...
Do it! 자료구조와 함께 배우는 알고리즘 #1 (1) 알고리즘이란?
알고리즘이란? 문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이루어진 집합을 말한다. 순차적(concatenation) 구조: 여러 문장(프로세스)이 순차적으로 실행되는 구조 선택(selection) 구조: () 안에 있는 식의 평가 결과에 따라 프로그램의 실행 흐름을 변경하는 if문 Syste...
:book: 자바의 정석 #7.6: 추상클래스
추상클래스 추상클래스란? 미완성 메서드를 포함하고 있는 미완성 설계도이다. 추상 클래스로는 인스턴스를 생성할 수 없다. 다만 새로운 클래스를 작성하는 데 있어서 바탕이 되는 조상 클래스로 미가 있다. 추상 클래스는 추상 메서드를 포함하고 있다는 것을 제외하고는 일반 클래스와 다르지 않다. 생성자, 멤버변수, 메서드를 가질 수 있다. 한편 추상 메...
:book: 자바의 정석 #7.5: 다형성
다형성 다형성이란? 객체지향개념에서 다형성이란 ‘여러 가지 형태를 가질 수 있는 능력’을 말한다. 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 다시 말해, 조상클래스 타입의 참조변수로 자손 클래스의 인스턴스를 참조할 수 있도록 하였다. 참조변수의 타입은 참조할 수...
학원 #33일차: 인터페이스, 추상 클래스, 싱글톤
인터페이스 사용법 public interface A { void m1();} public interface B extends A { void m2(); } public interface C { void m3(); } public interface D { void m2(); void m4; } public interface D2 { int m3(); }...
:book: 자바의 정석 #7.4: 제어자
제어자 제어자란? 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 하나의 대상에 대해서 여러 제어자를 조합해서 사용할 수 있다. 단, 접근 제어자는 한 번에 네 가지 중 하나만 선택해서 사용할 수 있다. 제어자의 종류 접근 제어자: public, protected, default, private 그 외 제...
학원 #32일차: 일반화, 추상 클래스와 메서드, 인터페이스
mini pms v22 - 상속 상속 구현 방법 상속(inheritance) 을 구현하는 방법에는 전문화와 일반화 두 가지가 있다. 1. 전문화 기존 클래스의 기능을 그대로 활용할 수 있도록 연결하고, 여기에 새 기능을 추가하거나 기존 기능을 변경하여 좀 더 특수 목적의 서브 클래스를 만드는 기법이다. 마치 부모로부터 무언가를 물려 받...