Tiny Bunny
본문 바로가기

java7

[JAVA] 스택 (Stack) · 메서드 정리 목차1. Stack2. Stack 사용하기push()pop()remove()peek()isEmpty()empty()search()size()set()elementAtclear()        1. Stack (스택)  - 스택은 마지막에 넣은 데이터를 가장 먼저 꺼낸다. (후입선출. LIFO)* 참고로 Queue(큐)는 선입선출(FIFO) - 자바 가상 머신(JVM)은 스스로 메모리를 관리하는 기능을 하는데, 이때 Stack은 마지막으로 사용이 끝난 지역변수를 바로 쳐내버리므로, 매우 효율적으로 메모리를 사용하는 방식이다.또, 자바의 Stack 클래스는 Vector 클래스를 상속받는다! 따라서 Thread-safe 특징을 갖는다고 한다.     2. Stack 사용하기 먼저 자바에서 Stack을 사용하기.. 2024. 10. 14.
[JAVA] String 클래스 / StringBuffer 클래스 / StringBuilder 클래스 · 비교 정리 (+StringTokenizer 클래스) String  ,  StringBuffer ,  StringBuilder  클래스는 자바에서 문자열을 다루는 '자료형 클래스'로 지원하는 '3가지 자료형'이다.  위 세가지 자료형은 모두 문자열을 다룰때 사용하나, 각각 쓰임새가 다르다.:보통 성능과 상황에 따라 비교하여 선택해서 사용한다.  String 클래스 / StringBuffer클래스, StringBuilder에 대해 비교 · 정리해보자!    String 클래스 불변형(immutable) 자료형따라서 초기 공간과 연산을 할 때 많은 시간과 자원을 사용하는 편이다.불변형으로 설계하는 이유: 보안, 동기화, 캐싱(힙 공간 절약)등의 성능적 이점을 얻기 위해서이다.문자열을 수정할 경우, 수정된 문자열이 새롭게 할당되어 새 주소를 넘기게 된다. Str.. 2024. 9. 3.
[JAVA] 상속 - super, 인터페이스(Interface), 오버라이딩(Overriding), 추상클래스(Abstract Class) 자바(JAVA)는 객체지향프로그래밍(Object Oriented Programing, OOP)으로, 4가지 특성을 가진다.1. 상속 (Inheritance)2. 다형성 (Polymorphism)3. 추상화 (Abstraction)4. 캡슐화 (Encapsulation) 이 중 상속과 자바의 다중상속(인터페이스)에 대해 정리해보자.1. 상속1-1. 오버라이딩 @Override1-2. super 2. 인터페이스3. 추상클래스    1. 상속 부모 클래스(슈퍼클래스)의 속성과 기능을 그대로 물려받는다.extends 키워드를 사용한다.extends 대상은 하나만 선택할 수 있다. (하나의 부모클래스만 상속받을 수 있다! ) 🌟자식이 상속을 받게 되면, 단순히 부모의 필드와 메서드만 물려받는게 아닌, 부모의 클.. 2024. 8. 30.
[JAVA] 접근 제어자 (private, default, protected, public) 접근제어자 (access modifier) 자바에서 클래스와 클래스의 멤버들을 사용할 때 접근할 수 있는 범위를 지정하는 것. public, private, protected, default 키워드가 있다. 공개범위는 public > protected > default > private 순이다.  즉 private의 공개범위가 가장 좁으며, public이 가장 넓다.   접근제어자는  클래스와  클래스멤버에따라 사용할 수 있는 키워드 종류에 차이가 있다!   1. 클래스의 접근제어자 클래스의 접근제어자는1. public2. default(기본값, 생략가능)   이 있다.  1. public 클래스 :- 모든 클래스에서 이 클래스에 접근 가능하다.-  다른 패키지에서 접근가능하다.public class M.. 2024. 8. 10.
[JAVA] 생성자와 this. 드디어 정리하는 생성자, 객체지향언어인 자바에서 생성자는 너무 중요한 개념이다.공부한 부분을 하나씩 정리해보자!   생성자 (constructor) 생성자(constructor)는 객체지향언어에서 객체를 생성하는 시점에 어떠한 작업을 하기위해 이용한다."객체 생성 시, 무조건 호출되는 함수"다.메인문에서 객체를 생성하면 클래스 내부에 보이지않더라도 (클래스 내부에) 자동으로 생성된다.반환타입이 없다.클래스와 이름이 같아야한다.   아래와 같이 3개의 멤버변수들을 가지는 Member 클래스가 존재한다.이 클래스의 객체를 메인함수에서 생성하게 되면,Member 클래스 내부에는 보이지 않지만 자동으로 Member(){} 생성자가 만들어진다. public class Member {    private Strin.. 2024. 8. 10.
[JAVA] 클래스(Class), 객체, 인스턴스 자바(JAVA)는 객체 지향 언어로서, 클래스와 객체로 이루어져있다.  그러므로 클래스와 객체, 인스턴스는 자바에서 매우매우 중요한 개념이다.!     먼저 클래스에 대해 정리하면 이렇다. 클래스 (Class)   클래스는여러 변수들을 하나의 클래스로 묶어 사용할 수 있다는 특징을 가진다. 메인함수가 쓰이는 클래스 외에 클래스 파일을 새로 만들어 사용한다.  아래는 MovieReview라는 이름의 클래스 선언 예시다.package class1;public class MovieReview{ String title; String review;}  MovieReview 클래스를 정의하여, 내부에 제목(title)과 리뷰를 String으로 정의한 것을 확인할 수 있다.    이렇게 클래스를 정의했다면.. 2024. 7. 18.
[JAVA] Scanner 이용해 입력 받기 자바의 Scanner 클래스 자바는 Scanner라는 메소드를 이용해서 사용자의 입력을 받는다.    1. 입력 하는 데이터의 타입에 따라 구분한다.int형nextInt()String형next()  혹은 nextLine() int형은 nextInt() 을, String형은 nextLine() 혹은 nextLine() 을 사용해서 입력을 받을 수 있다. next() :공백을 기준으로 한 단어 또는 한 문자씩 입력받는다.버퍼에 입력된 문자나 문자열에서 공백 전까지의 단어를 읽는다.개행 문자를 가져오지 않는다.nextLine() :문자 또는 엔터를 치기 전까지의 문장 전체를 입력받는다.버퍼에 입력된 문자열을 개행 문자까지 다 가져온다.  ex)Scanner scanner = new Scanner(System... 2024. 7. 14.

TOP

Designed by 티스토리