자바
-
[Java] 자바 기본 문법(3) - 클래스, 메소드, 객체 형성, 접근지정자, 오버로딩 / class, method, new, object, access modifier, overloading앱 개발/Java 2022. 1. 18. 12:22
1. 클래스(class) 클래스는 변수(필드)와 메소드로 구성된다. 특정한 기능을 하는 사용자정의 자료형이라고 볼 수 있다. 자바에서는 class 없이 함수라는 것이 선언되지 않기 때문에 함수와 class내 method를 구분하지 않는다. 그래서 전반적인 함수 역할을 하는 코드들을 자바에서는 '메소드'라고 부른다. 파이썬 등의 언어에서는 구분하여 사용하기도 한다. 쉽게 이해해보자, 쿠키를 만들고자 한다. 이 때 쿠키틀은 클래스이고, 쿠키틀에 의해 찍혀진 실제 쿠키 각각은 객체라고 할 수 있다. 클래스는 객체를 만들기위한 설계도 역할을 하며, 객체는 클래스로부터 생성된 실체라고 할 수 있다. 아래는 임의로 작성한 Cookie라는 이름의 class이다. getShape, getColor, getCooking..
-
[Java] constructor Class(data type) is already defined in class Class / method Method(data type) is already defined in class Class 오류 해결하기앱 개발/오류모음 - Java 2022. 1. 18. 11:48
생성자(constructor)를 오버로딩(overloading)할 때, 매개변수를 달리하여 오버로딩 할 수 있다. 하지만, 아래와 같이 매개변수를 받는 자료형이 그 종류와 개수가 동일할 경우에는 오류가 발생한다. 1. constructor Class(data type) is already defined in class Class 즉, 해당 data type을 가진 생성자가 이미 선언되었다는 뜻이다. 사람의 눈으로는 받는 매개변수의 이름이 다르기 때문에 다른 생성자로 보일지라도, 컴퓨터의 입장에서는 해당 Class로 객체를 생성할 때, 어떤 생성자를 가지고 생성해야하는지 판단하지 못하는 상황이 발생한다. 이 오류는 메소드를 선언할 때에도 똑같이 발생하는데, 아래와 같이 int형만 가진 method1 메소드..
-
[Java] 자바 '{' expected / constructor Class in class Class cannot be applied to given types; 오류 해결앱 개발/오류모음 - Java 2022. 1. 17. 15:52
1. '{' expected 클래스를 생성할 때 다른 언어에서 함수를 선언하는 것처럼 괄호와 받을 매개변수들을 적어놓으면 안된다. 다음과 같은 에러가 뜨는데, '{' expected 이는 Cookie라는 클래스를 선언할 때에 Cookie라는 이름 뒤에 바로 중괄호가 와야한다는 뜻이다. 아래와 같이 해결할 수 있으며, 이를 생성자(constructor)이라고 한다. 메소드(method)의 데이터 형은 생략하고 클래스의 이름과 괄호, 중괄호로 코드를 구성한다. 초기설정과 비슷한 느낌이라고 볼 수 있다. 파이썬의 __init__과 유사하다. 2. constructor Class in class Class cannot be applied to given types; 이때, 클래스의 생성자가 필요로하는 매개변수를..
-
[Java] 자바 기본 문법(2) - 지역변수와 전역변수, 메소드, 예외처리, 캐스트 연산자 / Local Global variable, method, exception, try - catch - finally, cast앱 개발/Java 2022. 1. 14. 17:09
1. 지역변수와 전역변수 지역변수(Local variable) : 모든 메소드에서 사용됨 전역변수(Global variable) : 메소드 내부에서만 사용됨 main 메소드에서 var=0 으로 선언되었다. Main 클래스에서는 var이 100으로 선언되었으나, println에서 var을 출력하고자 할 때 지역변수 내에도 var이라는 이름의 변수가 존재하므로 지역변수 var에 저장되어있는 값인 0이 출력되는 것이다. 2. 메소드 add라는 사용자 메소드를 선언하였다. int형 num1과 num2 파라미터를 받는다. 이 메소드는 두 파라미터를 더해서 반환하는 기능을 한다. return 문을 보면 num1+num2를 반환하고 있으며, 30이 출력된다. 3. 예외처리 try - catch - finally 파이..
-
[Java] 자바 기본문법(1) - 출력, 변수선언, 조건문, 주석, 반복문, 배열, 인덱싱 / println, if, while, for, switch - case,앱 개발/Java 2022. 1. 14. 13:49
https://replit.com/languages/java Java Online Compiler & Interpreter Write and run Java code using our Java online compiler & interpreter. You can build, share, and host applications right from your browser! replit.com 온라인으로 자바를 컴파일할 수 있는데, 그 주소는 위와 같다. 0. 출력 C, python 중에서 제일 복잡한 자바의 출력! System.out.println() 메소드를 사용해서 출력한다. 단, println 메소드에 프린트하고 싶은 여러 개의 변수들을 쉼표를 이용해 넣으면 에러가 발생한다. 출력결과는 오른쪽과 같으며..
-
[Android - Java] 앱에 내용 전송 버튼 만들어서 새로운 페이지에 출력하기 / EditText와 Button, 새로운 Activity 생성과 method와의 연결앱 개발/Android Studio 2022. 1. 5. 14:37
1. 자바 파일에서 메서드 작성하기 android:onClick 속성에 정의한 이름으로 된 메서드는 다음과 같은 조건을 가지고 있다. - 접근 지정자는 public 이어야한다 - 반환값은 void 이어야 한다. - 파라미터를 view만 가지고 있어야한다. onClick 속성이 정의된 View가 클릭될 때 호출된다. 버튼을 눌렀을 때 수행할 동작은 이 메서드 내부에 작성하면 된다. id를 edit_message라고 한 버튼을 눌렀을 때 sendMessage라는 메서드가 동작하도록 코드를 작성해 보았다. MainActivity.java에 작성한 코드는 아래와 같다. 참고사항으로, xml 파일에서 작성한 내용은 아래와 같다. android:onClick에서 sendMessage라는 메서드를 가리키고 있음을 확..