Java 정리

Seon_shine·2021년 12월 22일
0

Java

목록 보기
1/1

C++과 Java의 배열 전달 차이
C++은 배열과 배열의 크기 따로 관리 vs Java는 배열이 스스로 크기 제공

C++방식

int sum(int x[], int size){
    int n,s=0;
    for(n=0;n<size;n++)
    	s+=x[n];
    return s;
}//배열과 크기를 각각 전달받음.

Java 방식

int sum(int x[]){
    int n,s=0;
    for(n=0;n<size;n++)
    	s+=x[n];
    return s;
}//배열만 전달 받음.

Java 객체 개념 정리

public class Circle{
    int radius;
    String name;
    public double getArea(){
    	return 3.14*radius*radius;
    }
    
    pulic static void main(String[] args){
    	Circle pizza;// 객체가 생성 된 것은 아님. Circle 타입의 객체를 가리키는 레퍼런스 변수일 뿐 객체 자체 x
       	pizza= new Circe();// new 연산자를 사용하여 객체 생성완료.
       	.....
        Circle donut = new Circle();//위의 2줄을 한번에 하는 방법.
        .....

Java 객체 배열 생성

Circle[] c;//Circle 배열에 대한 레퍼런스 변수 c 선언
c= new Circe[5];//레퍼런스 배열 생성
for(int i=0;i<c.length;i++)
	c[i]= new Circle(i);//각 원소 객체 생성

접근 지정자
-public: 클래스 내부/외부에서 모두 호출 가능
-private: 클래스 멤버들만 호출 가능
-protected: 클래스+ 상속받은 서브 클래스 호출 가능
-default(private package): 같은 패키지

공개 범위: 'private<default<protected<public'


Java의 인자 전달 방식
-call by value
-객체와 배열이 전달될 때 자체 전달x
-레퍼런스 전달


Java는 c++과 다르게 클래스 바깥에 어떤 변수나 함수도 존재 불가능.
Static을 이용하여 구현.
Static method는 객체 없이도 존재하기 때문에 this 사용 불가능


final method는 더이상 오버라이딩할 수 없음을 지정한다.
Java에서 final로 필드를 선언하면 필드는 상수가 된다.
ex) public static final double PI=3.14;

profile
모든 생각을 구현해내기 위해 노력하는 개발자

0개의 댓글