본문 바로가기

728x90
반응형

BackEnd

[java] 이것이 자바다 ch07 상속 1. 상속 ▷ 부모 클래스의 필드와 메소드를 자식 클래스에게 물려줄 수 있습니다. ◎ 상속의 이점 ▷ 이미 개발된 클래스를 재사용하므로 중복 코드를 줄입니다. ▷ 클래스 수정을 최소화합니다. 2. 클래스 상속 ▷ 자식 클래스를 선언할 때 어떤 부모로부터 상속받을 것인지를 결정하고, 부모 클래스를 다음과 같이 extends 뒤에 기술합니다. ▷ 다중 상속 허용하지 않습니다. extends 뒤에 하나의 부모 클래스만 상속합니다. ▶ 자바 외의 다른 언어에서는 다중 상속이 가능합니다. ▷ 클래스 앞에 final이 붙은 경우에는 상속이 불가능합니다.( ex) final calss Parent{ } ) ▷ control + T를 누르면 상속이 나타납니다. ◎ 부모 클래스 Phone // 부모 클래스 Phone p.. 더보기
[java] class 이전에 정리를 한 번 했었지만 한 번 더 정리해보겠습니다. 계속 공부를 하다보니 클래스 내부의 함수들과 변수들을 지칭하는 말들이 구분이 잘 되지 않네요,, 필드나 메소드, 인스턴스 등을 잘 구분해야합니다! https://bobo12.tistory.com/16 [java] 자바의 클래스(class)란? 1. 객체지향 언어 현실에 존재하는 사물과 개념들을 소프트웨어적으로 구현하고, 그 객체들이 상호작용하여 데이터를 처리하는 방식입니다. 특징 (1) 코드의 재사용성 : 새로운 코드 작성시 기존 bobo12.tistory.com ◎ Class 사용 예제 class Car1 { // 필드 (속성, 객체 변수) boolean powerOn; // false String color; // null int wheel;.. 더보기
[java] 이것이 자바다 ch06 singleton(싱글톤) 패턴 ◎ 싱글톤 패턴 ▷ 생성자를 private 접근 제한해서 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아서 외부에서 마음대로 객체를 생성하지 못하게 합니다. ▷ 대신 싱글톤 패턴이 제공하는 정적 메소드를 통해 간접적으로 객체를 얻을 수 있습니다. public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() { } static Singleton getInstance() { return singleton; } } public class SingletonExample { public static void main(String[] args) { //Singleton obj1 = new S.. 더보기
[java] 이것이 자바다 ch06 패키지 1. 자바의 패키지 ▷ 클래스의 일부분이며, 클래스를 식별하는 용도입니다. ▷ 패키지는 주로 개발 회사의 도메인 이름의 역순으로 만듭니다. ▷ 상위 패키지와 하위 패키지를 도트(.)로 구분합니다. ▷ 패키지에 속한 바이트코드 파일(~.class)은 따로 떼어내서 다른 디렉토리로 이동할 수 없습니다. ◎ 패키지 선언 ▷ 패키지 선언은 package 키워드와 함께 패키지 이름을 기술한 것입니다. 항상 소스 파일 최상단에 위치합니다. ▷ 패키지 이름은 모두 소문자로 작성합니다. ▷ 패키지 이름이 서로 중복되지 않도록 회사 도메인 이름의 역순으로 작성하고, 마지막에는 프로젝트 이름을 붙여줍니다. ◎ import문 ▷ 다른 패키지에 있는 클래스를 사용하려면 import문을 이용해서 어떤 패키지의 클래스를 사용하는.. 더보기
[java] Getter와 Setter 1. Setter : 데이터를 검증해서 유효한 값만 필드에 저장하는 메소드 2. Getter : 필드 값이 객체 외부에서 사용하기에 부적절한 경우, 적절한 값으로 변환해서 리턴할 수 있는 메소드 ◎ 객체의 필드(데이터)를 외부에서 마음대로 읽고 변경할 경우 객체의 무결성(결점이 없는 성질)이 깨질 수 있습니다. ex) 자동차의 속력은 음수가 될 수 없는데, 외부에서 음수로 변경하면 객체의 무결성이 깨집니다. Car myCar = new Car(); myCar.speed = -100; ◎ 객체지향 프로그래밍에서는 직접적인 외부에서의 필드 접근을 막고 대신 메소드를 통해 필드에 접근하는 것을 선호합니다. private double speed; private : 같은 클래스 내부에서는 접근 가능 setter를.. 더보기
[java] 접근 제한자 ◎ 접근 제한자 ▷ 중요한 필드와 메소드가 외부로 노출되지 않도록 만들어 객체의 무결성을 유지하기 위해서 사용합니다. ▷ 접근 제한자는 public, protected, private의 세가지 종류 ▶ 제한 범위를 벗어나면 사용할 수 없습니다. ◎ 클래스의 접근 제한 ▷ 클래스를 선언할 때 public 접근 제한자를 생략하면 클래스는 다른 패키지에서 사용할 수 없습니다. ▶ default가 됩니다. ▷ 클래스를 선언할 때 public 접근 제한자를 붙이면 클래스는 같은 패키지뿐만 아니라 다른 패키지에서도 사용할 수 있습니다. ◎ 예시 1. example01.package1 (1) A(class) package example01.package1; class A { // default 접근 제한 }​ (2).. 더보기
[java] 이것이 자바다 ch06 fianl 필드와 상수 1. final 필드 선언 ▷ final 필드는 초기값이 저장되면 최종적인 값이 되어서 프로그램 실행 도중에 수정할 수 없게 됩니다. ▷ final 필드에 초기값을 주려면 필드 선언 시에 초기값을 대입하거나 생성자에서 초기값을 대입합니다. public class Korean { // 인스턴스 final 필드 선언 final String nation = "대한민국"; final String ssn; // 인스턴스 필드 선언 String name; // 생성자 선언 public Korean(String ssn, String name) { this.ssn = ssn; this.name = name; } } public class KoreanExample { public static void main(Strin.. 더보기
[java] 이것이 자바다 ch06 인스턴스 및 정적 멤버 1. 인스턴스(Instance) 멤버 ◎ 인스턴스 멤버 : 필드와 메소드 등 객체(class)에 소속된 멤버 ▷ 객체가 생성되어야만 사용 가능한 필드, 메소드입니다. ◎ this 키워드 ▷ 객체 내부에서는 인스턴스 멤버에 접근하기 위해 this를 사용합니다. 객체는 자신을 'this'라고 지칭합니다. ▷ 생성자와 메소드의 매개변수명이 인스턴스 멤버인 필드명과 동일한 경우, 인스턴스 필드임을 강조하고자 할 때 this를 주로 사용합니다. public class Car { // 필드 String model; int speed; Car(String model){ this.model = model; } // 메서드 void setSpeed(int speed) { this.speed = speed; } // 메서.. 더보기

728x90
반응형