본문 바로가기

전체 글223

[알고리즘 문제풀이] 프로그래머스 - 순위 검색 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/72412 2022. 3. 5.
[Java] 내부 클래스(inner class),익명 클래스 내부 클래스란? 내부 클래스는 클래스 내에 선언된 클래스이다. 내부 클래스를 쓰는 이유는 두 클래스가 긴밀한 관계기 때문이다. 내부 클래스의 장점 - 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다. - 코드의 복잡성을 줄일 수 있다(캡슐화) class A{ // ... } class B{ // ... } // 내부클래스화 class A{ // 외부클래스 // ... class B{ // 내부 클래스 //... } // ... } 내부 클래스인 B는 외부 클래스 A를 제외하고는 다른 클래스에서 잘 사용되지 않는 것이어야 한다. 내부 클래스의 종류와 특징 내부 클래스 특 징 인스턴스 클래스 (instance class) 외부 클래스의 멤버변수 선언위치에 선언하며, 외부 클래스의 인스턴스멤버처럼.. 2022. 3. 5.
[Java] 인터페이스(interface) 인터페이스란? 인터페이스는 일종의 추상클래스이다. 인터페이스는 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상메서드와 상수만을 멤버로 가질 수 있다. 추상 클래스를 '미완성 설계도'라고 한다면, 인터페이스는 구현된 것은 아무것도 없고 밑그림만 있는 '기본 설계도'라고 할 수 있다. 인터페이스의 작성 interface 인터페이스 이름{ public static final 타입 상수이름 = 값; public abstract 메서드이름(매개변수목록); } 인터페이스의 멤버들은 제약사항이 있다. - 모든 멤버변수는 public static final 이어야 하며, 생략할 수 있다. - 모든 메서드는 public abstract 이어야 하며, 생략할 수 있다. (단.. 2022. 3. 4.
[Java] 추상클래스(abstract class) -추상화,구체화 추상클래스란? 추상클래스는 미완성 설계도로 비유할 수 있다. 미완성 메서드(추상메서드)를 포함하고 있다는 의미이다. 추상클래스는 클래스로서의 역할은 다 못하지만, 새로운 클래스를 작성하는데 있어서 바탕이 되는 조상 클래스이다. 즉, 새로운 클래스를 작성할때 틀을 제공해준다. 클래스 앞에 'abstract'를 붙이면 추상클래스이다. 이 앞의 'abstract'를 보고 내부에 추상메서드가 있다는 것을 쉽게 알 수 있다. 추상메서드(abstract method) 메서드는 선어부와 구현부로 구성되어 있다. 추상메서드는 선언부만 작성해놓은 것이다. 즉 설계만 하고 실제 수행할 내용은 작성하지 않은 미완성 메서드이다. 메서드의 내용이 상속받는 클래스에 따라 달라질 수 있는 상황에서 쓰인다. /* 주석을 통해 어떤 .. 2022. 3. 4.
[Java] 다형성(polymorphism) - 업캐스팅,다운캐스팅 다형성이란 객체지향개념에서 다형성이란 '여러 가지 형태를 가질 수 있는 능력'을 의미하며, 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다.즉,조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 구현하였다. class Tv{ boolean power; int channel; void power() { power = !power;} void channelUp() { ++channel; } void channelDown() { --channel; } } class CaptionTv extends Tv{ String text; void caption() { /* ... */ } } CaptionTv c = new CaptionT.. 2022. 3. 4.
[Java] 제어자(modifier) - 접근 제어자와 그 외 제어자(캡슐화) 제어자란 제어자(modifier)는 클래스, 변수 또는 메서드의 선언부와 함께 사용되어 부가적인 의미를 부여한다. 접근 제어자: public, protected, default, private 그외 제어자: static, final, abstract, native, transient, synchronized, volatile, strictfp 클래스,멤버변수,메서드에 주로 사용되며 하나의 대상에 여러 제어자를 조합하여 사용하는 것이 가능하다. 단, 접근 제어자는 한 번에 4가지 중 하나만 선택해서 사용할 수 있다. static - 클래스의, 공통적인 static은 '클래스의' 또는 '공통적인'의 의미를 가지고 있다. 인스턴스변수는 하나의 클래스로부터 생성되었더라도 각기 다른 값을 유지하지만, 클래스변수(.. 2022. 3. 4.