01. 자바와 객체지향
1) 자바는 처음부터 객체 지향 언어로 만들어졌다.
→ 객체 지향 프로그래밍(Object Oriented Programming, OOP)은 프로그램을 작성하는 기법인데,
부품에 해당하는 객체(Object)를 먼저 만들고, 이것들을 하나씩 조립 및 연결해서 전체 프로그램을 완성하는 기법을 말한다.
2) 객체지향이 잘 적용된 언어는 코드의 구조가 명확하기 때문에 코드를 이해하기 쉽고, 관리와 유지 보수가 효율적이다.
3) C언어는 객체 지향이 적용되지 않은 대표적인 언어이며, Python은 객체 지향이 적용된 언어이지만, 객체 지향이 강하게 드러나는 언어는 아니다.
4) 자바는 파이썬 등에 비해 정교한 대신 문법이 더! 어렵다.
02. 프로그래밍 기초
< 변수 >
- 변수는 정보를 저장하고 쓸 수 있게 해주는 '이름표' 와 같음
- 값을 보관하는 역할
< 자료형 >
- 컴퓨터에는 여러 가지 형태의 자료가 있는데, 이 자료들의 종류를 '자료형' 이라고 부름
ex) 10, 22, 90 → 숫자 / 가, 나, 다 → 문자
- 자료형에는 대표적으로 숫자, 문자, 논리형(참 or 거짓) 등이 있음
→ 자바에서는 int, double, char, boolean 등으로 표현
< 함수 >
- 명령들을 보관하는 역할
- 동일한 내용을 반복하여 쓰고 있거나, 프로그램을 깔끔하게 정리하고 싶을 때 함수를 사용하면 됨
- 함수의 입력값을 '파라미터' 혹은 '매개변수' 라고 부르며, 출력값을 '리턴값'이라고 부름
- 함수는 대부분 ( ) 와 { } 를 사용
< 함수와 자료형 >
- 함수의 입력은 '파라미터', 출력은 '리턴값'
- 자바에서는 함수의 입력은 어떤 자료형인지, 출력은 어떤 자료형인지 미리 정해줌
- 맞지 않는 자료형을 입력하거나 출력하게 되면 오류가 발생함
< 배열 >
- 여러 개의 값을 하나의 변수에 담고싶을 때 배열을 사용
- 배열은 주로 [ ] 를 사용해서 표현
03. Hello World
package Chapter01;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
public class HelloWorld {
▶ public : 접근제어자로, 전체 프로그램의 어디에서든 접근 가능
▶ HelloWorld : "HelloWorld"라는 클래스를 정의
첫번째 줄 정리
'HelloWorld라는 이름의 공개된 클래스를 만든다'
public static void main(String[] args) {
▶ static : 객체 지향 프로그래밍에서 아주 중요한 키워드, 그 부분을 바로 실행 가능하게 만들어줌
→ main은 가장 첫 번째로 실행되어야 하기 때문에, main 앞에는 항상 static을 붙이게 됨
▶ void : 메소드는 필요에 따라 실행이 끝나고 어떤 값을 되돌려주기도 하는데, 그 되돌려줄 값이 무엇인지 미리 메소드 이름 앞에 써줌. 즉 메소드(함수)의 리턴 값을 선언하는 자리이며, void는 리턴 값이 없다는 뜻
→ 만약 실행이 끝나고 숫자형을 돌려줄 예정이면, void 대신 숫자를 의미하는 int를 쓰면 됨
→ 메인 메소드는 보통 아무 것도 되돌려주지 않기 때문에 void를 붙여주게 됨
▶ main : 정의할 메소드(함수)의 이름
→ 메소드란? 클래스 안에 정의된 함수
→ 자바는 클래스 기반 언어이기 때문에, 자바의 함수는 모두 메소드임
→ 프로그램을 실행시키면 자바가 main 메소드를 찾아서 실행시키기 때문에 이름을 main이라고 지어주어야 함
→ main 메소드는 args라는 문자열 배열을 파라미터로 받음
▶ String[] args : 괄호 ( ) 안에 위치하고 있으며, 괄호 안에 있다는 것은 메소드에 전달되는 값이라는 의미(=파라미터)
String[]은 문자열을 의미하고, 뒤에 있는 args는 변수 이름→ args라는 이름의 문자열 변수가 메소드에 전달된다는 뜻
두 번째 줄 정리
1. main 메소드가 있고,
2. 이 main 메소드는 누구나 접근할 수 있고(public), 바로 실행할 수 있고(static), 아무 것도 되돌려주지 않음(void)
3. 나중에 main 메소드에 전달해주고 싶은 값이 잇다면, 문자열 형태로 전달해야하며, main 메소드 안에서 'args'라는 이름으로 사용할 수 있음
System.out.println("Hello World!");
▶ System : System이라는 클래스의(입력, 출력 등 시스템에 관련된 기능을 모아둔 클래스)
▶ out : out이라는 변수의(출력과 관련된 기능)
▶ println : println이라는 메소드 호출(print + line → 다음 줄(line)으로 넘겨주는 역할)
→ 이 메소드의 파라미터로 문자열 "Hello World"를 넘겨주면 콘솔에 "Hello World"가 출력됨
세 번째 줄 정리
'System'이라는 자바에 내장되어 있는 클래스의 'out' 안에 있는 'println' 메소드를 사용해서,
Hello World를 출력하라는 뜻
'DEV > JAVA' 카테고리의 다른 글
접근 제어자 | Access Modifier (0) | 2021.12.15 |
---|---|
객체 만들기 | Object Oriented Programming (0) | 2021.12.13 |
배열 | Array (0) | 2021.12.12 |
조건문과 반복문 (0) | 2021.12.12 |
변수와 연산 (0) | 2021.12.09 |