본문 바로가기

분류 전체보기213

클래스와 객체 클래스- 객체를 만들기 위한 설계도 or 틀- 객체의 속성(state)과 행동(behavior) 포함 객체- 클래스 모양 그대로 생성된 실체- 프로그램 실행 중 생성- 메모리 공간을 가짐- =인스턴스(instance)- 객체들은 클래스에 선언된 동일한 속성을 가지지만, 객체마다 서로 다른 고유한 값으로 구분 클래스 구성- class 키워드를 사용하여 선언- 클래스의 구성 요소를 멤버라 함- 멤버는 필드(멤버 변수)와 메소드(멤버 함수) 두 가지 클래스 선언- class 키워드로 선언- { 로 시작하여 } 로 닫으며 중괄호 안에 모든 필드와 메소드 구현- class Circle은 Circle이라는 이름의 클래스를 선언- public, private 등 접근 지정자로 접근 권한 표시 필드와 메소드- 필드(f.. 2024. 5. 14.
객체 지향과 자바 객체 지향 언어의 특성- 객체 지향 언어는 실세계의 객체를 프로그램 내에 표현하기 위해 클래스와 객체 개념을 도입 1. 캡슐화(Encapsulation): 객체를 캡슐로 싸서 내부를 보호하고 볼 수 없게 하는 것- 객체의 본질적인 특징- 외부의 접근으로부터 객체를 보호클래스(class): 자바에서 객체는 클래스라는 캡슐을 사용필드(멤버 변수)와 메소드(멤버 함수)로 구성 객체클래스의 모양대로 생성된 실체(instance)객체 내 데이터를 보호, 외부 접근 제한2. 상속(Inheritance): 상위 객체의 속성이 하위 객체에 물려짐- 하위 객체가 상위 객체의 속성을 모두 가짐- 자바에서는 자식 클래스(서브 클래스)가 부모 클래스(수퍼 클래스)의 속성을 물려받고 그 기능을 확장 3. 다형성(Polymorp.. 2024. 5. 11.
오름차순/내림차순 정수 정렬 다들 뭔가 멋있게 정렬하던데 나는 버블정렬밖에 모른다//버블정렬int[] intArray = {7, 2, 10, 4, 8, 3, 1, 9, 5, 6};int i, j, temp;for(i=9; i>0; i--){ for(j=0; jintArray[j+1]){ //앞 원소가 뒤 원소보다 크면 앞 원소를 뒤로 보내야 됨 temp=intArray[j]; intArray[j]=intArray[j+1]; intArray[j+1]=temp; } }}for(i=0; i 더 멋있게 정렬하고 싶으므로 Arrays.sort()를 사용해 보겠다 java.util.Arrays 클래스의 sort() 메소드를 사용하는 것이다. 해당.. 2024. 5. 11.
래퍼 클래스(wrapper class) 8개의 기본 타입(byte, short, int, long, char, double, float, boolean)을 객체로 다루기 위해 JDK에 만들어진 8개의 클래스를 통칭하여 Wrapper 클래스라고 함기본 타입Wrapper 클래스byteByteshortShortintIntegerlongLongcharCharacterfloatFloatdoubleDoublebooleanBooleanWrapper 클래스의 객체 생성- Wrapper 객체는 기본 타입의 값을 인자로 하여 정적 메소드인 valueOf()를 호출하여 생성- Character를 제외한 나머지 Wrapper 클래스의 경우, 문자열로 Wrapper 객체 생성 가능Integer i = Integer.valueOf(10); //정수 10의 객체화Ch.. 2024. 5. 11.
예외 처리 예외(Exception): 오동작을 일으키거나 결과에 악영향을 미칠 수 있는 오류- 문법에 맞지 않게 작성된 코드는 프로그램 실행 전 컴파일러에 의해 컴파일 오류로 걸러짐- 예외는 프로그램 실행 중에 발생- 정수를 0으로 나누는 경우, 배열의 크기보다 큰 인덱스로 배열에 접근하는 경우, 존재하지 않는 파일을 읽는 경우 등- 실행 중 예외가 발생하면 자바 플랫폼이 실행 중인 응용프로그램에 예외를 전달- 응용프로그램이 예외에 대처하는 코드를 가지고 있지 않다면 자바 플랫폼이 응용프로그램을 종료 예외 처리, try-catch-finally문 - 예외가 발생했을 때 대응하는 응용프로그램 코드- try-catch-finally문 사용 try{ 예외가 발생할 가능성이 있는 실행문(try블록)}catch(처리할 예외.. 2024. 5. 10.
main() 메소드 main() 메소드- 자바 응용프로그램의 실행 시작 메소드 main()의 원형- 반드시 static- 반드시 public main() 메소드의 특징 1. public- public 접근 지정자는 해당 메소드가 다른 클래스에서 호출 가능함을 나타냄- 자바 응용 프로그램이 실행을 시작할 때 자바 가상 기계(JVM)에 의해 호출되어야 하므로 public 속성으로 선언 2. static- 객체가 생성되기 전에 호출되므로 static속성으로 선언 3. void 타입으로 리턴- 아무 값도 리턴하지 않으므로 void 타입- main()메소드를 끝내기 위해 리턴하려면 return;문을 사용 4. 문자열 배열(String [])이 매개변수로 전달- 명령행에 입력된 인자들을 문자열 배열로 만들어 main()메소드에 전달m.. 2024. 5. 10.