반응형

클래스 21

JAVA_13_내부 클래스

#1 내부 클래스 (중첩 클래스)▶ 내부 클래스란?두 클래스 간에 서로 쉽게 접근하여 사용할 수 있도록 만든 것보통 바깥쪽의 클래스를 외부 클래스, 안쪽의 클래스를 내부 클래스라고 함내부 클래스에서도 접근 제한자를 부여해, 클래스의 접근에 대한 기능을 제한할 수 있음두 클래스 멤버들 간에 손쉽게 접근 가능불필요한 클래스를 감춰 코드의 복잡성을 줄일 수 있음public class OuterClass { class InnerClass { }} #2 내부 클래스 종류▶ 선언된 위치별 내부 클래스 종류메서드설명인스턴스 클래스외부 클래스의 멤버 변수와 같은 위치에 선언주로 외부 클래스의 멤버 변수와 관련된 작업에 사용될 목적으로 선언외부 클래스가 반드시 선언된 후, 인스턴스 클래스 생성정적 클래스외부 클래스의 멤..

개발/Java 2024.07.16

JAVA_12_추상 클래스 & 인터페이스

#1 추상 클래스 & 추상 메서드▶ 추상 클래스란?일반 클래스처럼 독립적으로 생성자를 호출해 객체를 생성할 수 없음자식 클래스의 생성자에서 super()를 통해 추상 클래스의 생성자를 호출하여 부모 객체를 생성한 후 자식 객체를 생성선언: [접근 제한자] abstract class 클래스명 {필드, 생성자, 메서드}자식 클래스들이 반드시 구현해야 하는 메서드가 있다면, 추상 메서드로 해당 메서드를 부모 클래스에 선언추상 클래스를 상속받은 모든 자식 클래스는 반드시 추상 메서드를 오버라이딩 및 재정의하여 구현해야 함 자식 클래스 간의 공통적인 필드와 메서드 이름을 통일반드시 구현해야 하는 메서드를 선언함으로써 공통 규격을 제공▶ 추상 메서드란?구현 내용 없이 구현부가 비어있는 메서드선언: [접근제한자] a..

개발/Java 2024.07.16

JAVA_11_다형성 & 타입 변환

#1 클래스에서의 타입 변환자료형(타입) 변환클래스의 객체 타입 변환: 클래스의 타입 변환은, 상속 관계의 클래스들 간에서만 가능▶ 클래스 자동 타입 변환개발자가 직접 명시해주지 않아도 자동으로 타입 변환이 일어나는 것상속 관계에 있는 자식 클래스의 객체를 부모 타입의 객체로 변환부모 타입으로 변환한 자식 객체는, 부모 클래스에 선언된 멤버(필드, 메서드)만 사용 가능단, 부모 클래스의 메서드를 @오버라이딩한 메서드는 자식 객체의 것을 호출 가능▶ 클래스 강제 타입 변환자식 객체가 부모 타입으로 자동 타입 변환 한 후, 다시 자식 타입으로 변환하는 것개발자가 직접 명시해야만 타입 변환 가능 #2 다형성(polymorphism)▶ 다형성이란?객체 지향 프로그래밍의 대표적인 특징 중 하나하나의 타입으로 다양..

개발/Java 2024.07.16

JAVA_10_상속

#1 상속▶ 상속이란?부모 클래스가 자식 클래스에게 클래스 멤버를 물려주는 것클래스를 재사용하기 때문에 중복을 줄여주고 수정을 최소화함▶ 자식 클래스 선언extends 키워드를 사용해 상속받을 클래스를 지명자식 클래스는 부모 클래스의 모든 멤버를 그대로 사용 가능// 상위 클래스class A {}// 하위 클래스class B extends A {}#2 상속에서의 생성자 : super()this() 메서드가 같은 클래스의 다른 생성자를 호출할 때 사용된다면,super() 메서드는 자식 클래스에서 부모 클래스의 생성자를 호출할 때 사용필요에 따라 매개변수를 전달할 수 있음개발자가 직접 생성자를 선언할 때는 자식 클래스에서 반드시 부모 클래스의 생성자를 호출해야 함public class A { String n..

개발/Java 2024.07.16

JAVA_09_생성자

#1 생성자의 특징▶ 생성자란?클래스르르 구성하는 구성요소 중 하나객체를 생성할 때 호출되어 객체의 초기화를 담당생성자는 일반 메서드와 달리 반환 타입이 없으며, 메서드 이름은 클래스 이름과 동일클래스명(매개변수1, 매개변수2...) {}생성자 호출시 new 키워드 함께 사용클래스명 객체명 = new 클래스명();▶ 기본 생성자클래스를 생성하면서 자바 컴파일러가 기본 생성자를 자동으로 제공생성자는 객체를 생성함과 동시에 객체를 초기화 해줌필드와 메서드를 호출하는 등 객체를 사용하기 위해 객체를 메모리에 할당 #2 생성자 오버로딩매개변수의 개수와 자료형의 형태를 달리하여 생성자를 여러개 선언 다양한 객체를 생성할 수 있음 #3 this & this()▶ this 키워드객체 자기 자신 스스로를 참조필드와 생..

개발/Java 2024.07.15

JAVA_07_클래스

#1 객체 지향 프로그래밍 (OOP : Object-Oriented Programming)객체를 중심으로 프로그램 구조를 설계하고 프로그래밍 하는 것객체 : 일반적으로 상태를 표현할 수 있고, 행동으로 실행할 수 있는 모든 것 #2 객체와 클래스▶ 클래스란?객체를 생성하기 위한 제작 설명서이 클래스를 기반으로 객체를 생성자바에서는 하나의 클래스로 여러 개의 객체 생성 & 사용 가능▶ 클래스 선언public class Car { // Car 클래스 선언}실행용 : 프로그램 전체에서 단 하나의 클래스로, 프로그램의 실행을 전적으로 맡음. 프로그램의 시작 메서드인 main()을 가지고 있는 클래스를 말하며, 다른 클래스에서 사용하지 않음라이브러리용 : 다른 클래스에서 이용할 목적으로 선언되는 클래스접근 제한자..

개발/Java 2024.07.15

Java의 Wrapper 클래스

이번 포스팅은 Java의 핵심 컨셉 중 하나인 Wrapper 클래스에 대해 알아보겠습니다. 이 포스트에서는 Wrapper 클래스의 개념을 이해하고, 이를 활용한 코드를 작성해보는 시간을 가질 예정입니다. 기본 데이터 타입을 객체로 다루는 래퍼 클래스는 매우 중요한 개념이므로, 이해하고 넘어가는 것이 중요합니다. Wrapper 클래스란? Wrapper 클래스는 기본 데이터 타입(primitive data type)을 객체로 다루기 위해 사용하는 클래스입니다. 즉, 기본 데이터 타입에 대한 '클래스 표현'을 제공합니다. 모든 기본 데이터 타입(byte, short, int, long, float, double, char, boolean)에는 해당하는 래퍼 클래스가 있습니다. 이들은 모두 java.lang 패..

개발/Java 2023.07.20

Java의 StringBuilder/StringBuffer 클래스

오늘은 문자열을 효율적으로 다룰 수 있는 두 가지 클래스, StringBuilder와 StringBuffer에 대해 알아보려 합니다. 이들은 String 클래스와는 달리 변경 가능한(mutable) 문자열을 다루는 클래스들입니다. 자바에서 문자열을 다룰 때, 이러한 클래스들을 이해하고 사용하는 것이 매우 중요합니다. StringBuilder 클래스 StringBuilder는 Java 5에서 도입된 클래스로, 문자열을 추가하거나 변경할 때 주로 사용합니다. StringBuilder의 모든 public 메소드들은 StringBuilder 객체 자신을 반환함으로써 메소드 호출을 연쇄적으로 이어갈 수 있습니다. 이를 메소드 체이닝이라 합니다. StringBuilder의 주요 메소드들은 다음과 같습니다: appe..

개발/Java 2023.07.20

Java의 Object 클래스 : toString(), equals(), hashCode()

이번 포스팅에서는 Java에서 가장 기본적인 클래스인 Object 클래스에 대해 알아보려 합니다. Java에서 모든 클래스는 기본적으로 Object 클래스를 상속받게 되어 있습니다. 이는 곧, 모든 클래스가 Object 클래스에 정의된 메소드들을 기본적으로 사용할 수 있다는 것을 의미합니다. 이러한 Object 클래스의 메소드 중, toString(), equals(), 그리고 hashCode() 메소드에 초점을 맞춰 알아보도록 하겠습니다. toString() 메소드 toString() 메소드는 객체를 문자열(String)로 바꿔서 반환해주는 메소드입니다. 이 메소드는 주로 오버라이딩을 통해 인스턴스의 정보를 알기 쉽게 출력하기 위해 사용됩니다. class Person { String name; int ..

개발/Java 2023.07.19

Java에서의 익명 클래스 (Anonymous Classes)

오늘은 자바에서 흔히 사용되지만, 익숙하지 않은 개념인 '익명 클래스'에 대해 알아보겠습니다. '익명 클래스'라는 이름에서 알 수 있듯이, 이는 이름이 없는 클래스입니다. 이름이 없다고 해서 그 존재가 희미한 것은 아니라는 것을 이 글을 통해 알아가시기 바랍니다. 이번 포스팅에서는 익명 클래스의 선언 방법, 활용 예시, 그리고 장점에 대해 알아보도록 하겠습니다. 익명 클래스란? 익명 클래스는 이름이 없는 클래스로, 주로 한 번만 사용할 클래스에 사용됩니다. 클래스의 구현과 객체 생성을 동시에 하기 때문에 코드가 간결해지는 장점이 있습니다. 익명 클래스는 어떤 클래스를 상속 받거나 인터페이스를 구현해야만 생성이 가능합니다. 다음은 익명 클래스의 선언 방법입니다. 클래스 상속을 통한 익명 클래스 선언 방법:..

개발/Java 2023.07.19
반응형