#. 클래스 선언 > 클래스 선언 - 현실 세계의 객체들을 추상화하여 만들어낸 소스 형태의 산출물인 클래스 작성을 시작으로 객체지향 프로그램은 시작 - 클래스의 선언부와 몸체로 나뉘고 몸체에는 클래스의 멤버가 선언12345[access modifier] class명 [extends 부모 클래스명] { // 클래서 선언부 // 클래스 몸체 [access modifier] 클래스명(argument list) { } // 생성자 [access modifier] 데이터 타입(data_type) 변수명[=초기 값]; // 변수 선언 [access modifier] return_type 메서드명(argument list) { } // 메서드 cs - 클래스 멤버 구성 ㄴ 객체의 초기화를 담당하는 생성자 (Const..
#. 멤버 변수의 선언 [modifier] 데이터타입 변수이름;- 변수에 대한 접근 권한이나 활용 방법 제어- modifier 미지정 시 같은 패키지 내의 클래스에만 접근 가능한 객체 변수라는 의미를 갖게 됨 > 전역(Global) 변수 - 클래스 선언부 밑에 선언된 변수로 멤버 변수라고 칭함 - 여러 메서드에서 공통으로 사용 가능 -> 객체가 가질 수 있는 속성을 나타내는데 사용 > 지역(Local) 변수 - 메서드 선언부 밑에 선언된 변수 - 해당 변수가 선언된 메서드 내에서만 사용 가능 > 멤버 변수에 사용되는 Modifier - 접근 권한 ㄴ public : 모든 클래스에서 접근 가능 ㄴ protected : 동일 패키지에 속하는 클래스와 하위 클래스 관계의 클래스에 의해 접근 가능 ㄴ priva..
#. 객체 생성 > 객체 생성 1 - 자바의 변수 ㄴ 기본형 변수 ㄴ 참조형 변수 : 배열 객체나 일반 클래스의 객체를 처리할 때 사용 - 클래스로부터 배열 객체를 생성할 경우 ㄴ 구문 : int[] scoreList; ㄴ 사용 : scoreList = new int[5]; > 객체 생성 2 - 클래스로부터 객체 생성을 위해 객체참조변수를 선언 ㄴ 구문 : 클래스이름 객체참조변수이름; ㄴ 사용 : Car Yellow; - 객체의 생성 ㄴ 구문 : 객체참조변수이름 = new 클래스이름(); ㄴ 사용 : Yellow = new Car(); 객체가 사용할 메모리 영역을 할당하기 위해 예약어 new 사용 생성된 객체에 대한 참조 값(메모리 주소)이 선언된 객체 참조 변수에 할당 + Car Yellow = new..
#. OOP(Object Oriented Programming)> 절차지향 (POP) - 실행되는 순서가 위에서부터 아래로 순차적으로 진행되는 형태를 가진 언어 - 프로그램 재사용 시 기존에 만들어진 코드를 복사하여 붙여넣기 하는 방법 사용 => 함수의 등장. ㄴ자주 사용되는 특정한 코드를 하나의 모듈(묶음)로 묶어 놓은 것 ㄴ프로그래머가 사용하고 싶을 때마다 호출하여 코드가 실행되도록 함 ㄴ데이터와 함수 간에 유기적인 관계성을 갖지 못함 > 객체지향 (OOP) - 모듈성을 높이기 위해 함수가 등장 - 객체 등장 (함수보다 더 높은 모듈 관리를 위해 자신이 가진 고유의 데이터와 그 데이터를 처리할 수 있는 메서드를 가짐) - 이러한 객체들이 모여 객체지향 프로그램 구조가 형성 - 객체지향을 통해 보다 높..
#. StringTokenizer--출처 : https://docs.oracle.com/javase/8/docs/api/ StringTokenizer-- 문자열을 토큰으로 분할할 수 있도록 허용 12345678910111213141516171819202122232425import java.util.StringTokenizer; public class test { public static void main(String[] args) { // String.split 방법을 사용 // String[] result = "this is a test".split("\\s");// for (int x = 0; x
#. BufferedReader--출처 : https://docs.oracle.com/javase/8/docs/api/BufferedReader - 문자 입력 스트림에서 텍스트를 읽고 문자를 버퍼링하여 문자, 배열 및 행을 효율적으로 읽을 수 있도록 함 - 버퍼 크기 지정 가능, default 크기로 대부분의 용도로 사용 가능--12345678910111213141516171819202122232425import java.io.BufferedReader;import java.io.InputStreamReader; public class test { public void run() throws Exception{ BufferedReader br = new BufferedReader(new InputStre..
#. StringBuilder 출처 : https://docs.oracle.com/javase/8/docs/api/StringBuilder의 특징. - 변형이 가능한 문자열 - 문자열 버퍼가 단일 스레드에 의해 사용되던 장소에서 StringBuffer의 드롭인 교체로 사용하도록 설계 (데이터 덮어쓰기) - 대부분의 구현에서 빠른 성능 (StringBuffer보다 선호) - 문자열 시퀀스의 길이가 용량을 초과하지 않는 한, 새로운 내부 버퍼를 할당할 필요가 없음(내부 버퍼가 넘치면 자동으로 더 크게 생성) - StringBuilder의 인스턴스는 다중 스레드에서 사용하기에 안전하지 않음. 이러한 동기화가 필요한 경우 StringBuffer를 사용할 것을 권장 - sb.append("x") 와 같은 방법으로..
1. 인터페이스(Interface)- 인터페이스는 클래스들이 그 기능을 서로 다르게 구현할 수 있도록 하는 클래스의 규격 선언- 클래스의 다형성을 실현하는 도구- 특징 1. 멤버는 추상 메서드와 상수만으로 구성 2. 모든 메서드는 abstract public이며 생략 가능 3. 상수는 public static final 타입이며 생략 가능 4. 인터페이스는 객체를 생성할 수 없음 5. 다른 인터페이스에 상속 가능 6. 인터페이스 타입의 레퍼런스 변수는 선언 가능 -- Teacher.java1234567891011121314public class Teacher { public void teach(ClassOne classone) { System.out.println("teach " + classone.ge..