목록이것이 자바다/06 클래스 (17)
충분히 쌓여가는
필드와 로컬(변수)의 차이점 로컬(변수)는 생성자와 메소드 블록에서 선언되며 생성자와 메소드 호출 시에만 생성되고 사용된다 필드는 클래스 블록에서 선언되며, 객체 내부에서 존재하고 객체 내 외부에서 사용가능하다 구분 필드 로컬(변수) 선언 위치 클래스 선언 블록 생성자, 메소드 선언 블록 존재 위치 객체 내부에 존재 생성자, 메소드 호출 시에만 존재 사용 위치 객체 내외부 어디든 사용 생성자, 메소드 블록 내부에서만 사용 초기값을 제공하지 않을 경우 필드는 객체 생성 시 자동으로 기본값으로 초기화된다 byte 0 short 0 int 0 long 0L char \u0000 (빈 공백) float 0.0F double 0.0 boolean false 배열 null 클래스(String 포함) null 인터페..
클래스의 두 가지 용도 라이브러리(library) 클래스 : 실행할 수 없으며 다른 클래스에서 이용하는 클래스 실행 클래스 : main() 메소드를 가지고 있는 실행 가능한 클래스 라이브러리 package ch06.sec04; public class Student { } 실행 클래스 package ch06.sec04; public class StudentExample { public static void main(String[] args) { Student s1 = new Student(); System.out.println("s1 변수가 Student 객체를 참조"); Student s2 = new Student(); System.out.println("s2 변수가 Student 객체를 참조"); } }
하나의 소스 파일은 복수 개의 클래스 선언을 할 수 있다 package ch06.sec03; public class SportsCar { } class Tire { } 복수 개의 클래스 선언이 포함된 소스 파일을 컴파일하면 바이트코드 파일(.class)은 클래스 선언 수만큼 생긴다 하나의 소스 파일에 복수 개의 클래스를 선언할 때 주의할 점 소스 파일명과 동일한 클래스만 public class로 선언할 수 있다 -> 특별한 이유가 없다면 소스 파일 하나당 클래스 하나를 선언하는 것이 좋다
객체 물리적으로 존재하거나 개념적인 것 중에서 다른 것과 식별 가능한 것 필드와 메소드로 구성됨 객체 모델링 현실 시계의 객체를 소프트웨어 객체로 설계하는 것 객체 간의 관계 집합 관계: 완성품과 부품의 관계 사용 관계: 다른 객체의 필드를 읽고 변경하거나 메소드를 호출하는 관계 상속 관계: 부모와 자식 관계 객체 지향 프로그래밍의 특징 캡슐화 -객체의 필드, 메소드를 하나로 묶고 실제 구현 내용을 외부에 감추는 것 -외부객체는 내부의 구조를 알지 못하며 객체가 노출해서 제공하는 필드와 메소드만 이용할 수 있다 -접근제한자 사용 상속 -부모 객체는 자기가 가지고 있는 필드와 메소드를 자식 객체에게 물려주어 자식 객체가 사용할 수 있도록 한다 -코드의 재사용성을 높여준다 -유지 보수 시간을 최소화시켜준다 ..