본문 바로가기
반응형

자바(Java)/자바 클래스10

[Java Class.10] this 키워드 [Java Class.10] this 키워드 1. this 키워드 this 키워드는 클래스 안에서 자기 자신의 object를 가리킬 때 사용합니다. [예제1] 아래 코드를 보며 this의 사용에 대해 이해해 보자. HTML 삽입 미리보기할 수 없는 소스 위 코드에서 this.name, this.email, this.phoneNumber라고 코딩한 부분은 사실 name, email, phoneNumber라고 그냥 코딩해도 되지만, "this.variable"형태로 굳이 코딩한 이유는 현재 object의 instance variable을 가리킨다는 것을 확실하게 구분하기 위해서 입니다. static method 안에서는 this, instance variable을 사용할 수 없습니다. 그 이유는 static.. 2024. 3. 26.
[Java Class.09]Getters & Setters [Java Class.09]Getters & Setters 1. Getters / Accessors 클래스 안에 있는 instance variable(field)은 보통 private으로 선언하기 때문에, 이 intance variable에 접근하게 해주는 메소드(accessor or getter 메소드)를 public으로 만들어 주면 된다. getter 메소드의 return type은 instance variable의 type과 똑같다. [예제1-1] HTML 삽입 미리보기할 수 없는 소스 [예제1-2] HTML 삽입 미리보기할 수 없는 소스 [유제1] Try the following code. Note that it has a bug! It tries to access the private insta.. 2024. 3. 26.
[Java Class.08] 메소드 오버라이드(@Override) [Java Class.08] 메소드 오버라이드(@Override) 1.메소드 오버라이드(Method Override) 상속된 일부 메소드는 자식 클래스에서 다시 수정해서 사용하는 것을 메소드 오버라이드라고 한다. 2.부모 메소드 호출(super) 2024. 2. 25.
[Java Class.07] 다형성(Polymorphism) [Java Class.07] 다형성(Polymorphism) 1.다형성(Polymorphism)이란? 다형성이란, 사용 방법은 같지만 다양한 객체를 이용해서 다양한 실행결과가 나오도록 하는 성질입니다. 다형성을 구현하려면 메소드 재정의와 타입 변환이 필요합니다. 2.자동 타입(Type) 변환(promotion) 타입 변환이란 데이터 타입을 다른 데이터 타입으로 변환하는 것을 말한다. 예를 들어 byte 타입을 int 타입으로 변환하는 것이다. 타입 변환에는 (1)자동(묵시적) 타입 변환과 (2)강제(명시적) 타입 변환이 있다. 2.1.변수에서 타입 변환(Type conversion, casting) 자동(암묵적, 묵시적, implicit) 형변환: 컴파일러가 자동으로 변환 강제(명시적) 형변환: 사용자가.. 2024. 2. 23.
[Java Class.06] 상속(Inheritance) [Java Class.06] 상속(Inheritance) 1.클래스 상속(Class inheritance) 부모가 자식에게 상속을 하듯이, 객체 지향 프로그램에서도 부모 클래스의 멤버를 자식 클래스에게 상속할 수 있다. 부모 클래스를 상위 클래스라고 부르기도 하고, 자식 클래스를 하위 클래스 or 파생 클래스라고 부른다. 상속은 이미 잘 개발된 클래스를 재사용하는 방법이므로 코드의 중복을 줄여준다. HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 2.부모 생성자 호출(Super Constructor) 자바에서는 자식 객체를 생성하면, 먼저 부모 객체가 생성되고 그 다음에 자식 객체가 생성된다. 모든 객체는 클래스의 생성자(Constru.. 2024. 2. 23.
[Java Class.05] Singleton & Final(싱글톤&파이널) [Java Class.05] Singleton & final 1.싱글톤(Singleton) 싱글톤(Singleton): 단 하나의 객체만 생성하게 만드는 것. new 연산자로 생성자를 호출한 만큼 객체가 생성되기 때문에, 단 하나의 객체만 생성하도록 하려면, 클래스 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아야 한다. 생성자를 외부에서 호출할 수 없도록 하려면 생성자 앞에 private 접근 제한자를 추가해 주면 된다. HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 2.final 필드 final 필드: 필드에 초기값이 저장되면, 이 값이 최종(final)적인 값이 되어서 프로그램 실행 도중에 수정할 수 없다는 것(수정 시도시 에러 발생) final 필드의 초기.. 2024. 2. 23.
[Java Class.04] Member of Instance & Static [Java Class.04] Member of Instance & Static 1.Instance member와 this 인스턴스 멤버(Instance member)란 객체(인스턴스)를 생성한 후 사용할 수 있는 필드(Filed)와 메소드(Method)를 말한다. 인스턴스 멤버는 객체에 소속된 멤버이기 때문에 객체 없이는 사용할 수 없다. 1.1.인스턴스 멤버 선언과 사용 HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 인스턴스 필드로 color, price를 선언했습니다. 인스턴스 메소드로 setColor를 선언했습니다. Main 함수에서 Car 객체를 만들고 인스턴스 필드와 메소드를 사용했습니다. 인스턴스 멤버(필드&메소드)를 외부 클래스에서 사용하기 위해서는 객체(인스.. 2024. 2. 23.
[Java Class.03] 메소드(Method) [Java Class.03] 메소드 1.메소드(Method) 메소드는 객체의 동작에 해당된다. 메소드 이름은 숫자로 시작하면 안되고, $와 _를 제외한 특수 문자를 사용할 수 없다. 관례적으로 메소드 이름은 소문자로 작성한다. 서로 다른 단어가 혼합된 메소드 이름이라면, 뒤이어 오는 단어의 첫 글자는 대문자로 작성한다. ①리턴 타입 ②메소드 이름 ③매개변수 ④실행할 코드 ⑤리턴 명령문 return문 이후의 명령어는 실행되지 않습니다.(에러 발생) public class Calculator { void powerOn() { System.out.println("Power On."); } int plus(int x, int y) { int result = x + y; return result; } int mi.. 2024. 2. 18.
[Java Class.02]필드, 생성자 [Java Class.02] 필드, 생성자 1.필드(Field) 필드는 객체의 데이터나 현재 상태값을 저장하는 일종의 변수 같은 개념이다. 예를 들어, 자동차 객체는 제작회사, 색깔, 가격 등의 데이터가 필드라고 할 수 있다. 객체의 명사적인 특성을 필드라고 생각하면 된다. public class Car { // 필드 선언 String company; // 제작 회사 int speed;// 속도 int price;// 가격 } 2.필드 초기값 초기값이 미리 입력되지 않은 필드는 객체 생성 시 아래와 같이 자동으로 기본 초기값으로 설정된다. 분류 타입 초기값 기본타입 정수 byte 0 char 빈 칸 short 0 int 0 long 0L 실수 float 0.0F double 0.0 논리 boolean f.. 2024. 2. 18.
728x90
반응형