728x90
- 배열
- 선언
- 자바에서의 배열선언은 아래와 같이 한다.
- String[] stringValue = new String[10];
- 위 그림의 (1) 부분의 String[] 에서 String[10] 으로 하면 안 된다.
왜냐하면 선언 되는 시점은 할당되는 사이즈를 미리 알 수 없기 때문이다. - 그래서 자바에서 배열 사이즈의 결정은 (2)부분의 직접 new 해주는 부분에서 10으로 지정해주게 된다.
- 선언
-
- 배열의 길이
- 자바에서 배열의 길이는 아래와 같이 가져올 수 있다.
- 배열의 길이
String[] stringArray = new String[10];
int length = stringArray.length;
-
-
- 배열의이름.length
- 배열의이름.length
- 다차원 배열
- 2차원 배열의 선언과 할당 방법
- ( 1 ) 선언과 동시에 할당
int[][] twoDimensionalArray = new int[2][3]; - ( 2 ) 선언후 나중에 할당
int[][] twoDimensionalArray;
twoDimensionalArray = new int[2][3]; - ( 3 ) 선언과 동시에 초기화
int[][] twoDimensionalArray = { { 1, 2, 3 }, { 4, 5, 6 } } ;- 위 코드는 int[2][3] 배열을 선언과 동시에 초기화한것이다.
- twoDimensionalArray.length 는 2 이다.
- twoDimensionalArray[0].length 는 3 이다.
- ( 1 ) 선언과 동시에 할당
- 2차원 배열의 선언과 할당 방법
-
- Java 에서 문자열 입력 받기
- 아래 java.util.Scanner 를 임포트 해주어야한다.
- import java.util.Scanner;
- 사용법은 아래처럼 Scanner를 생성후 , nextLine 함수를 호출해서 사용한다.
- Scanner scanner = new Scanner(System.in);
- String inputString = scanner.nextLine(); // 입력받음과 동시에 inputString에 값 대입
- Java 에서 scanner 클래스의 입력 함수들
- nextLine() // 문자열 , String 입력
- nextBoolean() // boolean true / false 입력
- nextShort() // 정수 short 입력
- nextBigDecimal() // 실수 BigDecimal (범위가 double보다 크다. )
- nextDouble /// 실수 double
- nextInt // 정수 int
- 아래 java.util.Scanner 를 임포트 해주어야한다.
- 객체지향 프로그래밍 (Object Oriented Programming )
- 의미
- 객체 == (Object)
- 지향 == ( Oriendted )
- 단어 뜻 그대로 모든 사물을 객체 단위로 설계하도록 지향해서 프로그래밍하는것
- 객체지향프로그래밍( OOP) 의 특징
- 특징
- 추상화 ( Abstraction )
- 캡슐화 ( Encapsulation )
- 다형성 ( Polymorphism )
- 상속성 ( Inheritance )
- 번외 : 외우는 법 :
착한닭살 (차칸닭살 , ㅊㅋㄷㅅ ) 추(착)상화 / 캡(칸)슐화 / 다(닭)형성/ 상(살)속 😅
- 번외 : 외우는 법 :
- 특징의 의미 와 예시
- 추상화 ( Abstraction ) :
- 객체들의 공통적인 특징을 묶어서 추상적인 공통점으로 모으는 것
- 예시 : 소, 돼지 ,고양이, 닭, 강아지
- 위 소 , 돼지, 고양이, 닭 , 강아지는 동물로 묶인다.
- 모두 짖는다 라는 행위를 할수있다.
- class animal {
public void bark() {
System.out.println(" 짖기 " ) ;
}
}
- 캡슐화 ( Encapsulation ):
- 객체를 독립적으로 분리시키고, 외부에서 데이터에 접근하지 못하게 보호
- 소, 돼지, 고양이, 닭, 강아지는 모두 태어난 날짜를 변경할 수 없다.
- class animal {
private int birthDay ; // <--- private로 선언하여서 다른 객체에서 태어난 날짜를 변경할 수 없게한다.
animal ( int birthDay) {
this.birthDay = birthDay; // <--- 생성될때 한번만 셋팅하게 한다.
}
public void Bark() {
System.out.println(" 짖기 " ) ;}
}
}
- class animal {
- 다형성 ( Polymorphism ) :
- 하나의 형태가 다양한 성질을 가질수 있는것
- 아래 animal 을 상속받은 dog과 cat은 동일한 함수명 bark() 를 호출해도 각각 강아지는 멍멍 고양이는 야옹야옹 을 출력한다.
- class animal {
public void bark()
{
System.out.println("짖기");
}
}
class dog extends animal {
public void bark()
{
System.out.println("멍멍");
}
}
class cat extends animal {
public void bark()
{
System.out.println("야옹 야옹");
}
} - 위 코드는 오버라이딩( 상속된 부모 클래스의 함수 재정의, 수직관계 ) 을 통한 다형성을 표현한 예시 이다.
- 오버로딩 ( 수평관계, 클래스안 동일한 이름에 다른 매게변수 ) 또한 다형성을 나타내는 기능이다.
- class animal {
- 상속성 ( Inheritance ) :
- 미리 만들어둔 객체를 다른 객체를 만들때 상속하여 재사용하는것.
- 다형성 vs 상속성으로 보자면, 다형성이 상속성보다 더 커다란 의미라 볼 수 있다.
왜냐하면 다형성은 상속이 아니더라도 오버로딩( 한클래스 내에서 매개변수형태가 다른 동일한 이름의 함수 만드는것) 으로 나타 낼 수 있기 때문이다.
- 미리 만들어둔 객체를 다른 객체를 만들때 상속하여 재사용하는것.
- 추상화 ( Abstraction ) :
- 특징
- 의미
추천인 코드 : o6i4B3y95 : 앨리스트랙 참여 링크
#엘리스트랙 #엘리스트랙후기 #온라인코딩부트캠프 #온라인코딩학원 #백엔드학원 #개발자국비지원 #개발자부트캠프 #국비지원부트캠프 #DOCKER #백엔드 #자바스프링 #스프링강의 #백엔드인강 #RESTAPI #스프링개발자
728x90
'Elice --Cloud--Track > 4~7 주차' 카테고리의 다른 글
4주차 블로그 챌린지-js , DOM (1) | 2023.12.17 |
---|---|
4주차 블로그 챌린지-DB,SQL (0) | 2023.12.15 |
3주차 블로그 챌린지 - java - map (0) | 2023.12.10 |
3주차 블로그 챌린지 (0) | 2023.12.10 |
Test (0) | 2023.12.03 |