프로그래밍 언어/자바(JAVA)
-
47일차 - 정규표현식프로그래밍 언어/자바(JAVA) 2024. 3. 29. 16:43
String str = "01038919755";// 이 문자열에서 "0" 만 찾아볼것이다 // 1. 패턴을 정의한다 Pattern p = Pattern.compile("0"); // 2. 패턴에 대해서 찾아달라고 요청한다 // 특정 패턴을 어느 문자열에 대입해서 찾을 것인가? Matcher m = p.matcher(str); // 3. 찾은 내용을 확인한다 while(m.find()) { // group : 요청 패턴 그룹으로 찾은 내용을 반환한다 // start : 찾은 문자열의 시작 위치를 반환한다 // end : 찾은 문자열의 마지막 위치를 반환한다 System.out.println(m.group() + " : " + m.start() + "~" + m.end()); Pattern p = null..
-
복습 7일차 - final, 상속프로그래밍 언어/자바(JAVA) 2024. 3. 11. 17:01
지역변수에서는 ■ 최초 한번만 변수에 값을 할당가능하다 ■ 기본형 매개변수이면 값을 변경할 수 없다 참조형 매개변수일 경우 참조값(메모리 주소)를 변경할 수 없지만 인스턴스의 필드(인스턴스 변수)는 변경할 수 있다) 필드에서는 ■ 생성자를 통해서 한번만 초기화될 수 있다 ■ static final 로 선언된 변수는 상수라고 부르고 클래스 안에서 자주 필요하는 변하지 않는 값이 필요할때 사용한다(상수로 선언되지 않는다면 각각의 인스턴스에 비효율적인 필드가 계속 생성된다) ■ 상수란 변하지 않고, 항상 일정한 값을 갖는 수를 말한다 클래스에서는 ■ 선언된 클래스는 더 이상 확장(상속)될 수 없다 메서드에서는 ■ 선언된 메서드는 더 이상 오버라이딩(재정의)될 수 없다 상속 ■ 부모 클래스의 속성(필드) 와 기..
-
복습 6일차 - 자바의 메모리 영역프로그래밍 언어/자바(JAVA) 2024. 3. 3. 23:10
메소드 영역 ◆ 인스턴스가 공용으로 사용하는 메소드,변수,클래스 등을 담아두는 영역이다 ■ 코드에 직접 작성한 값인 리터럴들을 묶어서 메소드 영역에 보관한다 스택 영역 ◆ 자바 실행시 하나의 실행 스택(쓰레드)가 생성되고, 메서드를 호출할 때 마다 하나의 스택 프레임이 쌓이고 지역변수, 중간 연산결과 등을 담고 있다 힙 영역 ◆ 객체(인스턴스)와 배열이 생성되는 영역이다 정적 변수의 필요성 ■ 객체끼리 공용으로 사용하는 필드가 없으면 새로운 인스턴스를 만들어서 접근해야하는 번거로움이 있었다 ■ 정적 변수를 사용해 편리하게 객체 생성시 값을 1씩 증가시켰다 멤버 변수(필드)의 종류 ◆ 인스턴스 변수 : 인스턴스에 소속되고, 새로운 인스턴스에도 변수도 새로 만들어진다 각 인스턴스마다 정보를 저장하기 위해 사..
-
복습 5일차 - 접근제어자, ★캡슐화프로그래밍 언어/자바(JAVA) 2024. 3. 3. 00:45
접근제어자의 정의와 필요성 ◆ 외부에서 특정 필드(멤버변수) 메서드에 접근하는 것을 허용하거나 제한할 수 있다 ■ 클래스 안의 데이터, 메서드 변경, 삭제하는 것을 미연에 방지할 수 있다 □ 스피커를 예시로 들자면 스피커의 음량은 100을 넘으면 안된다는 요구사항이 있음에도, 외부에서 임의로 음량을 1000으로 변경해버려서 스피커가 고장날 수 있다 접근제어자의 종류 ◆ Private : 모든 외부 호출을 막는다 ◆ Public : 모든 외부 호출을 허용한다 ◆ Package-private(Default) : 같은 패키지 안에서의 호출은 허용한다 ◆ Protected : 같은 패키지 안, 상속 관계의 호출을 허용한다 캡슐화 ◆ 속성과 기능을 하나로 묶고, 외부에서 꼭 필요한 기능만 노출하고, 나머지는 내부..
-
복습 4일차 - 생성자, 패키지프로그래밍 언어/자바(JAVA) 2024. 3. 2. 01:30
생성자 ◆ 생성자란 객체 생성 직후 객체를 초기화 하기 위한 특별한 메서드이다 ■ 매번 인스턴스의 멤버변수를 초기화하는 함수를 만들어야하는 불편이 있었는데, 자바에서는 생성자라는 객체를 생성하는 시점에 초기화하거나, 기능을 실행할 수 있다 ■ 초기화는 인스턴스를 생성시 최초로 어떤 값을 입력하는 행위를 말한다 This ■ 매개변수와 인스턴스의 멤버변수를 구분하기 위해 앞에 this 를 붙이고, this는 인스턴스 자신의 참조값을 가리킨다 public class MemberInit { String name; void initMember(String name, int age, int grade) { this.name = name; // this 는 인스턴스 자신을 가리킨다 } } ■ this 는 인스턴스를 ..
-
자바 시험프로그래밍 언어/자바(JAVA) 2024. 2. 20. 15:44
클래스 oop 4대 특성 상속 오버로드 오버라이드 다형성 추상화 인터페이스 문자열 예외처리 컬렉션 프레임워크 ★ 질문한 내용이 객관식으로 나온다 모르는 내용 추상화, 인터페이스, 추상 클래스 -> 그냥 모르면 버리자 문자열(메소드들) -> 메소드들 한번 보고, 빌더랑 버퍼 차이 다시 기억(다수의 쓰레드가 동시에 접근하는것을 금지), 빌더는 객체를 생성하지 않고 하나의 객체에 메모리 공간을 추가로 할당받는다 컬렉션 프레임워크 -> 코드를 무조건 다시 보고 이해하자
-
복습 3일차 - 객체지향과 클래스프로그래밍 언어/자바(JAVA) 2024. 2. 15. 20:24
객체 지향 프로그래밍 vs 절차 지향 프로그래밍 객체 지향의 경우 객체의 설계와 관계를 중시한다. 반면 절차 지향의 경우 데이터와 기능이 분리되어 있고, 프로그램이 어떻게 작동하는지 그 순서에 초점을 맞춘다. 둘의 중요한 차이 절차 지향은 데이터와 해당 데이터에 대한 처리 방식이 분리되어 있다. 반면 객체 지향에서는 데이터와 그 데이터에 대한 행동(메서드)이 하나의 '객체' 안에 함께 포함되어 있다. 객체란? 세상의 모든 사물을 단순하게 추상화해보면 속성(데이터)과 기능(메소드) 딱 2가지로 설명할 수 있다. 자동차 속성: 차량 색상, 현재 속도 기능: 엑셀, 브레이크, 문 열기, 문 닫기 객체 지향 프로그래밍은 모든 사물을 속성과 기능을 가진 객체로 생각하는 것이다. 객체에는 속성과 기능만 존재한다. ..
-
복습 2일차 - 기본, 참조 자료형프로그래밍 언어/자바(JAVA) 2024. 2. 15. 19:38
대원칙: 자바는 항상 변수의 값을 복사해서 대입한다. 자바의 기초적인 규칙 자바에서 변수에 값을 대입하는 것은 변수에 들어 있는 값을 복사해서 대입하는 것이다. 기본형, 참조형 모두 항상 변수에 있는 값을 복사해서 대입한다. 기본형이면 변수에 들어 있는 실제 사용하는 값을 복사해서 대입하고, 참조형이면 변수에 들어 있는 참조값을 복사해서 대입한다. 기본형 vs 참조형 - 기본 상식 기본형 변수는 값을 직접 저장하지만, 참조형 변수는 참조(주소)를 저장한다. 기본형 vs 참조형 - 대입 기본형과 참조형 모두 대입시 변수 안에 있는 값을 읽고 복사해서 전달한다. ★ 기본형은 사용하는 값을 복사해서 전달하고, 참조형은 참조값을 복사해서 전달한다!!!! 헷갈린다면 이 글을 읽자 : 이것이 중요하다. 실제 인스턴..