목록 JAVA (26)
이롭게 현명하게
패키지 (package) : 자바에서 클래스를 체계적으로 관리하기 위해 사용 프로젝트를 진행하다 보면 수십 개의 클래스를 작성하게 된다. 클래스를 체계적으로 관리하지 않으면 클래스 간의 관계가 뒤엉켜서 복잡하고 난해한 프로그램이 되어 유지보수가 어려워진다. 우리가 폴더를 만들어 파일을 저장 관리하듯이 자바에서는 패키지를 만들어 클래스를 저장관리한다. 파일을 저장 관리하듯이 사용한다고 해서 패키지가 폴더기능만 하는 것이 아니라 클래스의 일부분이다. 패키지는 클래스를 유일하게 만들어주는 식별자 역할을 한다. 클래스 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식한다. 상위패키지.하위패키지.클래스 package 상위패키지.하위패키지; import ; public class ClassName{ ... }..
목차 final 필드 상수(static final) final 클래스 - 클래스 상속 불가 final 메소드 - 오버라이딩 불가 [final 필드(객체별 상수), static final 필드(클래스별 상수)] 상수 static final 필드는 클래스 선언 시에 초기 값을 지정 일반 final 필드는 주로 생성자에서 초기 값을 선언 [final 필드] final 필드 : 최종적인 필드. 즉 초기값이 저장되면 이것이 최종적인 값이 되어서 프로그램 실행 도중에 수정할 수 없다. final 데이터타입 필드명 = 초기값; 1. 필드 선언시선언 시 주는 방법 : 단순 선언 시 2. 생성자에서 주는 방법 : 복잡한 초기화 코드가 필요하거나 객체 생성 시에 외부 데이터로 초기화해야 할 때 생성자에 초기화되지 않은 f..
목차 정적 멤버 선언 정적 초기화 블록 정적 메소드와 블록 선언 시 주의할 점 싱글톤 [non-static 멤버(인스턴스 멤버)] 공간적 특성 : 멤버들은 객체마다 독립적으로 별도 존재 시간적 특성 : 필드와 멤소드는 객체 생성 후 비로소 사용 가능 (new 연산자 사용) 비공유 특성 : 멤버들은 다른 객체에 의해 공유되지 않음 [static 멤버(클래스 멤버,정적 멤버)] 객체마다 생기는 것이 아님 클래스당 하나만 생성됨 객체를 생성하지 않고 사용 가능 공간적 특성 : static 멤버들은 클래스 당 하나만 생성 시간적 특성 : static멤버들은 클래스가 로딩될 때 공간 할당 공유의 특성 : static 멤버들은 해당 클래스의 모든 객체에 의해 공유 [static의 활용] 1. 전역 변수와 전역 함수..
this : 객체 자신에 대한 레퍼런스 인스턴스(instance) 멤버 : 객체(인스턴스)를 생성한 후 사용할 수 있는 필드와 메소드를 말한다. 인스턴스 필드, 인스턴스 메소드라고 부른다. 인스턴스 필드와 메소드는 객체에 소속된 멤버이기 때문에 객체 없이는 사용할 수 없다. // Car.java public class Car { // 필드 int gas; // 메소드 void setSpeed(int speed) { } } // Main.java public class Main { public static void main(String[] args) { Car mycar = new Car(); mycar.gas = 10; mycar.setSpeed(60); Car yourcar = new Car(); yo..
목차 메소드 선언 리턴타입 매개 변수 선언 매개변수의 수를 모를 경우 리턴(return) 문 메소드 오버로딩 메소드 (method) : 객체의 동작에 해당하는 중괄호 블록 리턴타입 메소드이름([매개변수선언, ...]){ 실행할 코드 } 메소드 오버로딩(Overloading) : 클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것 class 클래스명{ 리턴타입 메소드이름 (타입변수){ 실행 내용 } 리턴타입 메소드이름(타입변수,타입변수){ 실행내용 } } 매개 변수 타입, 개수, 순서 중 하나가 달라야 한다. 매개값을 다양하게 받아 처리할 수 있도록 하기 위해 [메소드 선언] 메소드 (method) : 객체의 동작에 해당하는 중괄호 블록 메소드는 필드를읽고 수정하는 역할도 하지만 다른 객체를 생성해서 ..
목차 기본 생성자 생성자 선언 필드 초기화 생성자 오버로딩 다른 생성자 호출 public class ClassName{ //필드 : 객체의 데이터가 저장되는 곳 int fieldName; //생성자 : 객체 생성 시 초기화 역할 담당 ClassName(){ ... } //메소드 : 객체의 동작에 해당하는 실행 블록 void methodName() { ... } } [기본 생성자] 생성자 (Constructor) : new 연산자와 같이 사용되어 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당한다. 객체 초기화 : 필드(클래스 멤버 변수)를 초기화하거나, 메서드를 호출해서 객체를 사용할 준비를 하는 것 생성자를 실행시키지 않고는 클래스로부터 객체를 만들 수 없다. new 연산자에 의해 생성자가..