본문 바로가기

분류 전체보기215

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.
래퍼 클래스(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.