본문 바로가기

분류 전체보기216

객체 배열 객체 배열- 자바에서는 기본 타입 데이터뿐 아니라 객체를 원소로 하는 객체 배열도 만들 수 있음- 객체에 대한 레퍼런스를 원소로 갖는 배열배열 선언 및 생성 1. 배열에 대한 레퍼런스 선언Circle[] c;- Circle 클래스의 배열에 대한 레퍼런스 변수 c 선언- 레퍼런스 변수 c를 선언할 뿐 배열을 생성하는 것은 아님 → 배열의 원소 개수를 지정해서는 안 됨 2. 레퍼런스 배열 생성c = new Circle[5];- 5개의 레퍼런스를 원소로 하는 배열 생성- 배열의 원소는 객체가 아닌 레퍼런스- Circle 객체에 대한 레퍼런스 배열이 생성되며, 변수 c가 이를 가리킴- Circle 객체들은 아직 존재하지 않음 3. 객체 생성for(int i=0; i- for 문을 이용하여 배열의 크기만큼 Cir.. 2024. 5. 20.
this 레퍼런스, 객체 치환 this: 현재 실행되고 있는 메소드가 속한 객체에 대한 레퍼런스- 컴파일러에 의해 자동 관리- this.멤버 형태로 사용public class Circle{ int raidus; public Cirle(int r){ this.radius = r; } public int getRadius(){ return radius; }}- this는 현재 객체에 대한 레퍼런스이므로, this.radius는 현재 객체의 멤버 radius에 접근한다.this의 필요성 1. 객체의 멤버 변수와 메소드 변수의 이름이 같은 경우public Circle(int radius){ radius=radius; }- 이렇게 작성할 경우 radius=radius;의 두 radius가 모두 Circle(int radius)의 매.. 2024. 5. 14.
생성자 생성자(constructor): 객체가 생성될 때 객체의 초기화를 위해 실행되는 메소드 생성자 선언 및 활용- 생성자는 객체가 생성되는 순간에 자동으로 호출되는 메소드- 객체에 필요한 초기화를 실행하는 코드 포함 1. 생성자의 이름은 클래스 이름과 동일public class Circle{ public Circle(int r, Strint n){...}} 2. 생성자는 여러 개 작성(overloading) 가능- 매개변수의 개수와 타입이 다르다면 클래스 내에 동일한 이름의 생성자를 여러 개 둘 수 있음public class Circle{ public Circle(){...} public Circle(int r){...} public Circle(int r, String n){...}} 3. 생성.. 2024. 5. 14.
클래스와 객체 클래스- 객체를 만들기 위한 설계도 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.