Jam's story

15일차 본문

Java

15일차

애플쩀 2022. 3. 10. 14:02
클래스  객체를 정의해 놓은것, 객체의 설계도 또는 틀 
객체 실제로 존재하는 것, 논리나 무형적인 것도 포함 
인스턴스화 클래스로부터 객체를 만드는 과정 
인스턴스 클래스로부터 만들어진 객체 ,어떤 클래스로 부터 만들어지는 지를 나타내기 위함 
객체는 모든 인스턴스를 대표하는 포괄적인 의미 
new 연산자에 의해 힙 영역에 생성된 객체= 메모리 상에 있음 
메소드  기능  
속성 멤버변수, 특성, 필드 ,상태 
클래스의 구성요소  멤버  1)속성(멤버변수)[= 필드   2)기능(멤버함수) = 메소드   
클래스 선언형식  [접근지정자][기타제어자] class 클래스명 [extends 클래스명 ] [ implements 인터페이스명]
OOP  상속성 다양성-[인터페이스] 캡슐화 은닉화  추상화 

src- 자바파일 소스파일 

bin- .class  컴파일된 파일 

접근지정자 
  • public
  • defualt - pacakge를 선택하면 default 가 된다.    
  • private  비활성화 
  • protected 비활성화 

private, protected = 독립적인 클래스로 선언할때는 사용할 수없는 클래스이다. 

중첩클래스로 선언할때는 사용할 수 있다. 

 

public 접근제한이 없다.  
패키지 내부/외부 어디서나 상속가능 
protected 캍은패키지, 다른패키지의 자손클레스에서 접근이 가능 
defualt 같은 패키지내에서만 
패키지 내부에서만 상속, 참조 가능 
패키지 외부에서는 상속만 가능 
private 같은 클래스내에서만 

 

 

기타제어자 
final 최종(마지막) 클래스- 상속개념
abstract 추상클래스 -추상화 
static  비활성화 , 중첩클래스 선언할 때만 사용됨 

 

인스턴스화 하지않으면 생기는 오류 

 

 

 

 

클래스를 여러개 선언할 수 있지만, public으로 선언된 클래스는 1개만 가능하고 파일명이랑 동일해야한다.

나머지 클래스들은 public을 빼야한다. 

 

 

package days15;

/**
 * @author 지민
 * @date 2022. 3. 10. - 오전 10:08:44
 * @subject 
 * @content 
 * 
 */
 class Tv { //extends java.lang.Object 생략 
	
	public String color;
	public boolean power;
	public int channel;
	
	void power() {
		power =!power;
	}
	 
	void channelUp() {
		channel++;
	}
	void channelDown() {
		channel--;
	}

}
 class TvTest3{
	 public static void main(String[] args) {
		Tv t1=new Tv();
		Tv t2=new Tv();
		System.out.println(t1.channel);
		System.out.println(t2.channel);
		
		t2=t1; //t1이 저장하고 잇는 주소를 t2에 저장한다. 
		t1.channel=7;
		System.out.println(t1.channel);
		System.out.println(t2.channel);
	}
 }

 

Tv t1=new Tv();

Tv t2=new Tv();

t2=t1;

t1이 가지고 있는 주소를 t2에 저장한다. 

t2에 t1의 주소가 들어가므로, t2에는 t1의 값이 저장되어있다. 

t2가 원래 사용하고 있던 인스턴스는 이제 사용할 수 없다. 

하나의 참조변수로 여러개의 인스턴스를 가리킬 수 없다. 

둘이상의 참조변수로 하나의 인스턴스를 가리키는건 가능하다 .

 

public int sum(int...m)  
int....m ==int[] m

 

필드 초기화 X  - > 각 자료형의 초기값으로 초기화가 되어져 있더라...

 

 

'Java' 카테고리의 다른 글

17일차  (0) 2022.03.14
16일차  (0) 2022.03.11
14일차  (0) 2022.03.08
12일차  (0) 2022.03.04
11일차  (0) 2022.03.03
Comments