에뛰드 블로그
article thumbnail
JAVA - Collections
BE/JAVA 2023. 5. 10. 15:41

🎡 Collection 클래스 ● java.util 패키지에 포함 ● 컬렉션에 대해 연산을 수행하고 결과로 컬렉션 리턴 ● 모든 메소드는 static 타입 🌟주요 메소드 ♣ 컬렉션에 포함된 요소들은 소팅하는 sort( ) 메소드 ♣ 요소에 순서를 반대로 하는 reverse( ) 메소드 ♣ 요소들의 최대, 최솟값을 찾아내는 max( ), min( ) 메소드 ♣ 특정 값을 검색하는 binarySearch( ) 메소드

article thumbnail
JAVA - LinkedList
BE/JAVA 2023. 5. 10. 15:37

🧸 LinkedList ● java.util.LinkedList - E에 요소로 사용할 타입 지정하여 구체화 ● List 인터페이스를 구현한 컬렉션 클래스 ● Vector, ArrayList 클래스와 매우 유사하게 작동 ● 요소 객체들은 양방향으로 연결되어 관리됨 ● 요소 객체는 맨 앞, 맨 뒤에 추가 가능 ● 요소 객체는 인덱스를 이용하여 중간에 삽입 가능 ● 맨 앞이나 맨 뒤에 요소를 추가하거나 삭제할 수 있어 스택이나 큐로 사용 가능

article thumbnail
JAVA - HashMap
BE/JAVA 2023. 5. 10. 15:33

🤷‍♀️ HashMap ❤️ KEY, VALUE key(키)와 value(값)의 쌍으로 구성되는 요소를 다루는 컬렉션 ● java.util.HashMap ● K는 키로 사용할 요소의 타입, V는 값으로 사용할 요소의 타입 지정 ● 키와 값이 한 쌍으로 삽입 ● 키는 해시맵에 삽입되는 위치 결정에 사용 ● 값을 검색하기 위해서는 반드시 키 이용 ❤️ 삽입, 삭제, 검색 ● 요소 삽입 : put( ) 메소드 ● 요소 검색 : get( ) 메소드 ❤️ 주요 메소드

article thumbnail
Iterator
BE/JAVA 2023. 5. 10. 15:09

🤷‍♀️ Iterator 인터페이스 Vector, ArrayList, LinkedList가 상속받는 인터페이스 입니다. - 리스트 구조의 컬렉션에서 요소의 순차 검색을 위한 메소드도 포함되어있습니다. Iterator 인터페이스 메소드 🧸 iterator( ) 메소드 : Iterator 객체 변환 iterator 객체를 이용하여 인덱스 없이 순차적 검색이 가능합니다.

article thumbnail
메소드 오버라이딩
BE/JAVA 2023. 5. 10. 15:02

🤷‍♀️ 메소드 오버라이딩이란? ● 슈퍼 클래스의 메소드를 서브 클래스에서 재정의 - 슈퍼 클래스 메소드 이름, 매개변수 타입, 개수, 리턴 타입 등 모든것이 동일하게 작성해야합니다. ● 메소드 무시하기, 덮어쓰기로 번역되기도 합니다. ● 동적 바인딩이 발생합니다. - 동적 바인딩은 서브 클래스에 오버라이딩된 메소드가 무조건 실행됩니다. 🌳 오버라이딩 ● 슈퍼 클래스에 선언된 메소드를, 각 서브 클래스들이 자신만의 내용으로 새로 구현하는 기능 ● 상속을 통해 '하나의 인터페이스(같은 이름)에 서로 다른 내용 구현'이라는 객체 지향의 다형성 실현 ● 실행 시간 다형성 실현 - 동적 바인딩을 통해 실행 중에 다형성 실현 - 오버로딩은 컴파일 타임 다형성 실현

article thumbnail
업캐스팅 (upcasting), 다운캐스팅 (downcasting)
BE/JAVA 2023. 5. 6. 21:20

🤷‍♀️ 업캐스팅 (upcasting) ⭐ 서브 클래스 객체를 슈퍼 클래스 타입으로 타입 변환 s (서브클래스)를 p (슈퍼클래스)로 형변환 해준 예시입니다. 따라서 업캐스팅은 자동형변환입니다. 주의할 점은 업캐스팅된 레퍼런스는 객체 내에 슈퍼 클래스의 멤버만 접근 가능하다는 점입니다. 이처럼 업캐스팅을 하게 되면 메모리를 절약하여 코드의 효율성이 높아집니다. 만약, 업캐스팅을 하지 않게 된다면 이렇게 두개의 인스턴스가 생성되어 비효율적인 메모리가 생기게 됩니다. 🤷‍♀️ 다운캐스팅 (downcasting) ⭐ 슈퍼클래스 객체를 서브 클래스 타입으로 변환 ⭐ 명시적(강제) 타입 변환 필요 다운캐스팅시 주의할 점은 업캐스팅된 객체만 다운캐스팅을 할 수 있다는 점입니다!! 다운캐스팅을 하는 이유는 하위클래스..

article thumbnail
상속 - 생성자(Constructor)
BE/JAVA 2023. 5. 5. 18:18

🤷‍♀️ 생성자란? ❤️ 생성자 의미 객체가 생성될 때 자동으로 호출되는 특수 목적의 메소드(멤버함수)로 객체의 초기화를 위해 사용됩니다. ❤️ 생성자 특징 ○ 생성자의 이름은 클래스 이름과 동일해야 합니다. ○ 생성자는 다른 멤버함수(메소드)와는 다르게 리턴 타입이 없습니다. ○ 생성자는 객체가 생성될 때 자동으로 한번 호출됩니다. ○ 매개변수 조건에 따라 여러개를 작성할 수 있습니다. (오버로딩) ○ 클래스에 최소 1개가 있어야 하며, 없을 경우 컴파일러가 기본생성자를 자동으로 생성합니다. ⛄ 서브클래스/슈퍼클래스의 생성자 호출, 실행 서브 클래스 객체가 생성될 때 서브 클래스의 생성자와 슈퍼 클래스의 생성자가 모두 실행됩니다. 다만 수행 역할이 다릅니다. 서브 클래스의 생성자는 생성된 객체 속에 들..

article thumbnail
상속 - 접근제어자 (access modifier)
BE/JAVA 2023. 5. 4. 20:55

🤷‍♀️ 접근제어자란? 🍡 접근제어자 의미 ❤️ 정보 은닉(data hiding) 사용자가 굳이 알 필요가 없는 정보는 사용자로부터 숨겨야 한다는 개념입니다. → 정보 은닉을 함으로써 사용자는 언제나 최소한의 정보만으로 프로그램을 손쉽게 사용할 수 있게 됩니다. 정보 은닉을 위해 접근 제어자 기능을 제공합니다. 클래스 외부에서의 직접적인 접근을 허용하지 않는 멤버를 설정하여 정보 은닉을 구체화할 수 있습니다. 접근제어자는 생략이 가능하며 생략했을 때는 자동으로 default임을 뜻하게 됩니다. ⛄ 접근 지정자 💜 슈퍼클래스의 public 멤버 다른 모든 클래스에 접근을 허용합니다 💜 슈퍼클래스의 protected 멤버 같은 패키지 내의 모든 클래스 접근 허용합니다. 다른 패키지에 있어도 서브 클래스는 슈..

article thumbnail
상속 (Inheritance)
BE/JAVA 2023. 5. 4. 17:21

🤷‍♀️ 상속이란? ① 부모클래스에 만들어진 필드, 메소드를 자식클래스가 물려받음 ② 유전과 유사 → 부모가 자식에게 물려주는 것입니다!! 상속을 통해 동일한 특성을 재정의할 필요가 없어 자식클래가 간결해져 코드 효율성이 올라갑니다!! 상속이 없는 위 클래스들은 말하기, 먹기, 걷기, 잠자기라는 멤버가 중복되어 있습니다. 이 중복되는 멤버들은 메모리 낭비와 효율성이 떨어집니다. 상속을 받기 위해서는 중복 멤버변수인 말하기, 먹기, 걷기, 잠자기를 가진 Person 클래스를 먼저 생성하고 정의합니다. 각 클래스에 Person 클래스를 정의시켜주면 됩니다. → 이렇게 하게 되면 상속받은 클래스도 Person 클래스의 멤버변수를 사용할 수 있습니다. ★ Person 클래스는 상속받은 클래스의 멤버변수를 사용할..

검색 태그