본문 바로가기

Java/JAVA

(45)
자바 객체지향프로그래밍 - 객체 생성 클래스 public class Employee{private String name;private double salary;}Employee클래스를 선언하고 그 안의 인스턴스 변수를 만들었다.인스턴스 변수는 객체의 인스턴스가 생성되었을 때 가질 수 있는 상태(변수)들이다. 인스턴스 변수는 보통 private로 선언하는데 이것이 바람직한 이유는 프로그램의 어느 부분이 변수를 변경할 수 있는지 제어하고, 언제든지 내부 표현을 변경할 수 있다는 것이다.메서드는 대부분 public 으로 선언한다. 때로는 헬퍼메서드를 같은 클래스에 속한 다른 메서드에서만 사용하도록 제한하는 private으로 선언한다. 또 클래스 사용자와 관련이 없는 메서드는 특히 세부 구현에 의존할 때 private으로 선언해야한다.this 참조..
자바 객체지향프로그래밍 - 객체 이용 객체지향 프로그래밍간단히 설명하면 프로그램을 만들 때, 상태와 행위로 이루어진 객체들을 만들어서 그 객체들간의 조립, 의사소통을 통해 하나의 프로그램을 만드는 것이다.접근자 메서드와 변경자 메서드 호출 대상 객체를 변경하는 메서드를 변경자, 객체를 변경하지 않는 메서드를 접근자라고 한다.ArrayList 클래스의 add메서드가 변경자의 예다. add를 호출하면 배열리스트 객체가 변경된다.* 이슈는 대부분의 컴퓨터는 CPU가 여러개라서 어떻게 안전하게 동시 접근하느냐다. 이 문제를 해결하는 방법은 접근자 메서드만 제공해서 객체를 변경할 수 없게하는 것인데 여전히 객체 변경이 필요할 때가 많다. 객체 참조C++같은 프로그래밍 언어에서는 변수에 객체를 담을 수 있다. 하지만 자바는 변수에 오직 객체에 대한 참..
자바 기본프로그래밍 (3) 가변인자 메서드를 호출하는 쪽에서 인자 개수를 정하지 않고 사용할 수 있는 메서드가 몇 가지 있다.public static double average(double... values){}이런식으로 ... 을 쓰면 다음과 같이 호출할 수 있다.double avg = average(3, 4.5, 8, 0);4개의 인자가 들어오면 자동적으로 뒤에 적은 values라는 변수안에 배열로 들어가 있다.* values 라고 적어야 하는것은 아니고 자유롭게 변수 이름 지정이 가능하다. 자바 API자바에서는 엄청나게 많은 API들이 준비되어있다.미리 제공하는 API를 이용하여 효율적인 코딩을 하면 된다.뭐 교수님들이 자바 API문서를 보면서 필요한 것을 찾아보고 공부하라고는 하는데 맞는 말이긴하나 정작 교수님들이 직접 사..
자바 기본프로그래밍 (2) 입력과 출력 system.out.println : 표준 출력 스트림으로 전달되어 터미널에 표시system.in 객체는 바이트 하나만 읽어오는 메서드밖에 없기 때문에 System.in에 연결된 Scanner를 생성해야한다.Scanner in = new Scanner(System.in); // java.util.Scanner다음 한줄을 읽는 메서드 nextLine() / 공백마다 나눠 읽는 메서드 next() / 정수 읽는 메서드 nextInt() / 부동소수점 읽는 메서드 nextDouble()다른 줄, 단어, 정수, 부동소수점이 있는지 검사하려면 haNextLine, hasNext, hasNextInt, hasNextDouble 사용터미널에서 비밀번호 안보이게 하기 Scanner로는 비밀번호 입력시 보이..
자바 기본프로그래밍 (1) JAVA의 목적 JAVA는 몇 가지 명령을 빠르게 실행하는데 사용하는 스크립팅 언어가 아니다.클래스와 패키지로 구조화했을 때 이점을 얻는 대규모 프로그램 개발용 언어를 목표로 만들어졌다.JAVA 실행 JAVA실행은 두단계를 거친다(1) javac 명령으로 자바 소스를 컴파일해서 클래스 파일에 저장한다. ( .class 파일 생성 )(2) java 명령으로 가상 머신을 구동하고 클래스파일(.class)을 로딩해서 바이트 코드를 실행한다. JAVA 기본 타입 (1) 정수 : int, long, short, byte* int의 범위가 최대 20억정도인데, 연습에서는 아무렇지 않게 int를 쓰더라도 금융쪽에서 개발할 때와 같이 다루는 숫자의 규모가 커질 때를 유념하고 이용할 것.long타입으로도 충분하지 않을 ..